Tim*_*fey 31
最常用的整数大小是32位.最后一位用于区分正数和负数.如果未设置最后一位,则该数字为正数.因此,最大正数0x7FFFFFFF
= (1<<31)-1
= 2147483647
(最后一位未设置).
对于负数,两个补码表示法被广泛使用.您可以通过反转其所有位并添加1来识别正数的对应部分.因此,最大整数的对应部分是0x80000001
,但它不是最小数字.
二进制补码表示法中的最小数字是0x80000000
= -2147483648
.关于这个数字的一个有趣的事实是它等于它自己的补码,即反转所有的比特结果0x7FFFFFFF
并加上1 0x80000000
个数,这等于原始数.
更多关于维基百科中的两个补码表示法.