这道类型转换的题原因到底是什么?

double a=10;
printf("%d",a);
结果是0,函数参数类型转换到底是怎么赋值的,有没有哪位高手从存储上解释一下,不胜感激!

全部评论
double占64位,非0的集中在高32位,%d只能截取低32位,这里应该是32个0吧,所以输出0。更深入的话可以看下IEEE标准double及float内存布局。
点赞 回复 分享
发布于 2016-10-30 20:52

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务