int型为什么最大是2的31次方减1 最小是-2的31次方

int短整型为32位,并且知道计算机存储以补码的形式进行存储,而且正数的原码反码补码相同

但负数的原码反码补码不同,并且对于转为十进制是以原码的形式进行计算,只是计算机的存储是以补码进行存储的。(补码存储,原码转换

对于最大值的二进制存储则为:

0111 1111 1111 1111 1111 1111 1111  1111

正数原码反码补码相同

转为十进制即:等比数列公式得

0*2^{31} + 1*2^{30} + 1*2^{29} +.....+1*2^{0} =\frac{1(1 - 2^{31})}{1 - 2}= 2^{31} - 1 =2147483647

对于最小值的二进制存储则为:

1000 0000 0000 0000 0000 0000 0000 0000(原码)

11111111 11111111 11111111 11111111(反码)

1000 0000 0000 0000 0000 0000 0000 0000(补码)

转为十进制为:

1 * 2^{31} = 2147483648 

由于最高位符号位为1最小值则为-2147483648

你可能感兴趣的:(零碎小芝士,leetcode)