永发信息网

浮点变量+f的问题

答案:6  悬赏:60  手机版
解决时间 2021-03-24 12:42
浮点变量+f的问题
最佳答案
数字后面加f是表明该数字为单精度浮点型数字(float);类似地,后面如果加d则是表明该数字为双精度浮点型数字(double)。如果在代码中使用一个小数而没有加任何后缀,则此数字自动视为double类型。

回到问题本身。float x = 3.14f; 是一个声明赋值语句。如果3.14后面不加后缀f,则系统将认定3.14是double类型的常量,并将double类型赋值到float类型的x变量中。而double变为float是丢失精度的,因此它被编译器认定为带有危险性的行为,一般会弹出一个Warning。所以,在为float类型赋值常量时,通常在后面加后缀f,通知编译器常量的类型是float,以避免被编译器误判为丢失精度。追问其实 我觉得这样 很坑爹
理论上 直接定义为float 不是就直接是float了吗 还要加个f才行
那float 有什么意思啊!追答恩,事实上编译器在处理float x = 3.14f; 这条语句时,是将这条语句拆开分别编译的:
float x;
x = 3.14f;
你看到,float这个关键字只对x有效。它只声明了x的类型,而并不声明3.14的类型。
为了方便说明,再举一个例子:
double a = 3.141592653589793;
float x = a;
这时由于精度丢失弹出的Warning语句就非常必要了。追问你是程序员吗追答程序是我的工具,但程序员不是我的工作。追问我想问问 对于一个初学者来讲 是先学C 还是C++ 还是其他语言好呢追答这并没有一定之规。如果你想循序渐进,做一名优秀的程序员,建议你从C/C++开始。一是因为这种语言对内存指针的要求较高,对掌握知识有帮助,二是因为这种语言的著名教科书很多。如果你想跳过那些底层的知识,上手快些的话,也可以直接学习Java或者C#,等逐渐熟练了再回过头来关注底层的内容。
全部回答
如果不加f默认是double类型,double比float精度高,会丢失精度的
说明X=3.1400000
对于一个小数其默认类型为double型,如果需要指定为float型,需要在小数后面添加F或f后缀。
float x=3.14f;//指定x为单精度实型量,如果不加f为双精度实型量,C中单精度型占4个字节(32位)内存空间,双精度型占8 个字节(64位)内存空间。
float x=3.14;

float 仅仅是说明x是个float 但是3.14 是个double, 这样初始化x的时候会有从double到float的转换
而3.14f就不一样了 ,3.14f就是个float,初始化的时候没有转换过程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夜光法师怎么触发平衡状态?
怎么才可以开启 通知中心都开了 还是显示已关
外宝轮胎这个地址在什么地方,我要处理点事
思源大酒店(漉浦华庭小区西)地址在什么地方,
鱼缸双头气泵用三通和堵头的问题
单选题MrGreenhasbeenelected(选举)_________
单选题达尔文的生物进化论对社会政治和意识形
高粱的还有一种叫法叫什么
希望家庭和睦的诗句,关于家庭和睦的诗句有哪
切工,抛光,对称哪一个更重要
公安可以调出删除的微信聊天记录吗
土建做了三年想转行,一点做下去的动力都没有
蜜雪冰城新鲜NO.1371在什么地方啊,我要过去
古装电视剧常说的 孰可忍孰不可忍的意思及出
内部带铁芯的螺线管叫________.电磁铁的优点
推荐资讯
一个三位数,十位上是4,百位上和个位上的数
如图敞口容器,杯子重2N,杯底面积为20cm²
长通物流(青华路)怎么去啊,有知道地址的么
安装充值软件是出现无法设置文件`c:config.ms
单选题2001年,全球上网用户已达到A.5亿B.6亿
上海证大财富直通车电话多少
高考出来 我被采访了,记者问我考的怎么样
跨国贸易需要办什么证件?
班主任离职寄语,不辞而别留一段什么话才能让
不要害羞英语怎么说,不要害羞,大胆尝试 用英
已知点P到x轴、y轴的距离分别是2和3,且点P关
如若将来想从事CAE方面的研究工作,需要具备
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?