C语言中数值溢出的问题

日期:2017-11-26 09:40:03 人气:1

C语言中数值溢出的问题

如果说短整型的长度是2个字节, short int 的范围就是-32768~32767 32768比最大值多1,也就是变成最小值了。 你的计算也不对。 应该是这样计算的:32768是:1000 0000 0000 0000 要把这个补码求原码,即是补码-1再取反,然后加上负号。 1000 0000 0000 0000 -1=0111 1111 1111 1111 取反即是:1000 0000 0000 0000 (正数32768) 加上负号:-32768 所以结果是-32768
    A+
热门评论