两个最大整数相加等于多少呢?

学计算机基础的时候一直没弄清,这个原码反码补码存在的意义,实在惭愧

原码,反码,补码

两个整型最大值相加等于多少?why?

答案:-2

梳理下计算机计算过程

计算机计算相加其实是通过其补码来进行相加的,故只需按照这种规则相加即可
正数的 原码,反码,补码 是他本身
负数: 反码= 原码取反(符号位除外),补码= 反码+1
java int 32位
为了方便运算,用四位计算,结果是一样的
用 0111代表java int最大数(32位无非中间多几位1,计算结果是一样的)
0111[原码]
0111[反码]
0111[补码]
1. 步骤一转换为补码运算
0111[补码] + 0111[补码] = 1110[补码]--->1010[原码] ---->-2(10)
2.将计算出的结果转回原码
1110[补码]--->1010[原码] ---->-2(10进制)

你可能感兴趣的:(两个最大整数相加等于多少呢?)