> 数学 >
(1/2)+'a'/2+(float)(2/5)为什么等于49.0
人气:204 ℃ 时间:2020-01-30 12:59:17
解答
逐项解释如下:
首先要记得C语言中两个整型数相除,结果仍是一个整型数.如13/5=2.于是:
!(1/2)=!(0)=-1
'a'/2=97/2=48
(float)(2/5)=(float)(2)=2.0
当整数与实数相加时,结果是一个实数.
所以:-1+48+2.0=49.0!(0)=-1和(float)(2/5)=(float)(2)这两个地方不是很懂0的二进制形式是00000000 00000000
!0就是对它按位取反,就是11111111 11111111,而在二进制补码中这就是-1(请不要说这里不懂,否则请自己另行查阅二进制补码的知识)
(2/5)=2,这总知道的吧!
那么(float)2就是2.0了。嗷嗷谢谢
推荐
猜你喜欢
© 2026 79432.Com All Rights Reserved.
电脑版|手机版