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导致精度丢失了。
热门推荐
被称为“万山之祖”的昆仑山,究竟蕴藏着多少传奇?
腰痛的人,不要睡太硬的床!
网络暴力:隐藏在屏幕后的利刃,该如何应对?
图书定位系统:智能化图书检索导航,解决读者找书难题
【感悟碎笔】知白守黑•和光同尘
打卡国内最佳养老的六大城市,你们赞同吗?
MACD多周期共振指标:看大做小的交易策略
内蒙古东部人竟然是“隐藏”的东北老铁?
秦始皇如何为中华取名?“中华”二字背后的文化密码
电脑小白必看:触摸板开启与关闭的正确姿势
养花也能治愈心灵?花卉心理学大揭秘!
婚姻幸福秘诀:五大策略打造美满关系
从农历看未来:属龙人哪个月份出生最有可能享受美满人生?
生态农业创业项目:实现可持续发展的绿色经济
古城新繁的音乐诗篇:一首融合历史与现代的动人之作
数字人如何做口播视频
零点场:量子意识与生命的终极奥秘
智慧农业管理系统:优化农场运营的11个方法
如何检查CPU和主板的具体型号是否匹配?
十年研究颠覆传统进化论:自然选择强度随时间波动
《死亡空间》系列游戏背景故事全解析
哪吒之后,谁将成为中国动画新百亿票房王者?
宝可梦:探索游戏文化与玩家社群的魅力
3天3000w,“打脸恶媳”流短剧成爆款新模型
四大名著的争议与价值
中国人不需要祠堂了吗?
成都这些新高中最快2025年招生!
LLM - 长文本总结处理方案
我太难了,网络流行语折射的情感共鸣与社会现实的深刻镜像
长沙市妇幼保健院(河西新院)项目预计2025年投入使用