C语言赋值浮点数时候立即数后面加上f的意义和注意事项
创作时间:
作者:
@小白创作中心
C语言赋值浮点数时候立即数后面加上f的意义和注意事项
引用
CSDN
1.
https://blog.csdn.net/bjbz_cxy/article/details/140432451
在C语言中,常见定义浮点数时会在立即数的后面加上f表明它是一个浮点数:
float a = 3.14159265f;
或者
但是在使用它时应注意一个事情,当你在立即数后面加上f时,编译器会认为它是一个float,当你在用它定义double或赋值时会以float的精度赋值,这会产生一个精度损失的问题,下面是一个示例:
double ft = 0.1234567890123456f;
打印结果:
0.1234567910432816
很明显结果是错误的,可以看到精度从第8位开始就错了,这是因为float的精度根据IEEE 754的标准,它只占7位有效位,为什么只占7位这里给大家补充一下这个知识,在IEE 754的标准里float占4字节,其中23位表示小数点,而23bit位(23^2)最大能表示的数为7位,所以它小数点后最大能表示7位。
当我们把后面的f去掉后在打印一下结果就正确了:
0.1234567890123456
f在c语言里是为了区分单精度和双精度的浮点数数据,这一点大家在开发时应注意,不要因为书写习惯在一些双精度的浮点数里加上了f导致精度丢失了。
热门推荐
北京同仁医院专家教你应对过敏性鼻炎
万能肉馅新花样:猪肉大葱馅的创新制作与食用指南
生姜能解酒吗?生姜解酒汤的做法及挑选技巧
如何有效缓解醉酒症状,帮助身体快速恢复的实用方法
金花白茶的功效与作用
大年初一感冒?试试荆防败毒散!
首都医科大学专家:春节防感冒,这些要点请收好
养生壶煮茶的时间及各类型茶叶的泡制方法全面解析
泡一次白茶要放多少茶叶?泡茶、煮茶、蒸茶,投茶量有什么不同?
煮茶用什么茶叶最好?什么茶不适合煮?
水果烤着吃还有营养吗?围炉煮茶的健康指南:茶、果、点心这样吃
大连人必看!这些APP买感冒药超方便
尿酸高了,该怎么吃?
元旦必吃:猪肉白菜馅饺子
简食记教你调出完美饺子馅!
牛膝煎煮方法与临床应用指南
高速公路+物流 融出发展新天地
春节家宴必备:大钊口才教你温暖互动
春节家宴必备:教孩子餐桌礼仪
且看古今婚俗的“台州式讲究”
《沉默意志》:在游戏中学会委婉表达的艺术
双十一用委婉语维护友情
年夜饭新花样:从外卖到非遗,传统与创新的完美融合
邵武特色小吃:脚掌糍的做法大揭秘!
国服盘古教你如何扭转战局!
揭秘OMG战队打野选手:从入门到巅峰的成才之路
典韦攻略:低端局的上分利器,高端局的隐秘选择
双十一赴日游爆火!汇率波动下的买买买热潮
安徽过年必备!红烧牛肉,香飘四溢迎新春
从“一尺”看《西游记》里的金箍棒有多长?