社区
C语言
帖子详情
整数转化为浮点数的问题
buffoon1
2011-01-21 09:25:20
int a = 1262491200
float b = (float)a;
当a被转化成浮点数b时,值就变成了1.2624911e+009.
b的值就变得比a的值小了,我必须得把a转化成浮点数,可是又不想改变它的值,该如何办?
...全文
2311
11
打赏
收藏
整数转化为浮点数的问题
int a = 1262491200 float b = (float)a; 当a被转化成浮点数b时,值就变成了1.2624911e+009. b的值就变得比a的值小了,我必须得把a转化成浮点数,可是又不想改变它的值,该如何办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
appx
2011-01-21
打赏
举报
回复
精度问题,float 32位还得除浮点小数表示位,这样虽然它能够表示的范围很大但是精确度不够,具体到这里就是整形部分的可精确为比32位int型数据要小,因而用double型来确保精度。
赵4老师
2011-01-21
打赏
举报
回复
float 精确到6位十进制有效数字
double 精确到15位十进制有效数字
赵4老师
2011-01-21
打赏
举报
回复
用10进制小数不能精确表示某些三进制小数0.1(3)=0.33333333333……(10)
同理,用二进制小数也不能精确表示某些10进制小数。
用
double b=(double)a;
printf("b=%.15g\n",b);
羽飞
2011-01-21
打赏
举报
回复
我也经常遇到这个样的问题,double也无法避免,这是精度与编译器转换时的问题,不过一般不回影响程序运行,不必太在意,而且浮点数比较就要考虑精度
wizard_tiger
2011-01-21
打赏
举报
回复
不会吧!
用double试试。
zy020118
2011-01-21
打赏
举报
回复
用double吧。。。
LaSt_C_
2011-01-21
打赏
举报
回复
是变小了
flysnowhite
2011-01-21
打赏
举报
回复
浮点数运算都有精度损失,但一般误差都在可控范围之内。float类型一般有7位有效数字,double一般有15位,如果觉得float精度不够,可以使用double,或者long double。
kevinxin24
2011-01-21
打赏
举报
回复
用double,输出改为%lf就行了。
NowDoIT
2011-01-21
打赏
举报
回复
[Quote=引用楼主 buffoon1 的回复:]
int a = 1262491200
float b = (float)a;
当a被转化成浮点数b时,值就变成了1.2624911e+009.
b的值就变得比a的值小了,我必须得把a转化成浮点数,可是又不想改变它的值,该如何办?
[/Quote]
不是很懂哦,lz是想比较二者的大小吗?
henrycen
2011-01-21
打赏
举报
回复
int a = 1262491200;
float b = (float)a;
printf("%.1\n",b);
在我机器显示1262491200.0
浮点数
整数
转换工具
浮点数
整数
转换工具,用于
浮点数
与
整数
之间相互转换
用Verilog实现
整数
转
浮点数
通过Verilog实现
整数
转
浮点数
,用MATLAB将数据有
整数
转
浮点数
,与FPGA实现
TensorFlow Lite移动端开发
位
浮点数
转换为更高效的 8 位
整数
进行量化,以到达模型快速运算的效果 . 伴随着深度学习技术的广泛使用,越来越多的深度学习模型被部署到移动端或IoT设备上运行,对于从事人工智能研发的相关人员,掌握...
将
浮点数
和
整数
转换为字符串
将
浮点数
和
整数
转化
为字符串,在VC6.0上已经通过的。。。
十六进制字符串到
浮点数
,整型的相互转换源代码(qt+vc2010)
新手一枚,最近项目需要十六进制字符串到
浮点数
的转换,查找参考一些相关资料,顺带整理了一下,就分享出来了。
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章