c语言中 5/2为什么会是0啊?

日期:2021-07-05 15:13:46 人气:1

c语言中 5/2为什么会是0啊?

这个涉及到的东西就比较复杂了。如果你是初学的话,建议不要深究。知道%d输出会是2就可以了。
其本质原理在于浮点数存储。
你用printf("%f",2);得到的值是一样的0.000000
当你用%f输出2的时候, 传给printf的值就是简单的2,占4个字节,其二进制值是
0x00000002
而浮点数存储的时候,分符号位,阶码和值,按照这个真值转成float时值就是0了。
而真正的浮点数2.0,其内存中的值是9d791f8
    A+
热门评论