以int类型为例
第32位存储符号,0表示正,1表示负,后面31位表示数值部分,最大为2147483647(231-1);
若最高位是0,则直接输出,若为1,则先输出负号,然后对数值取补码后输出。
(1)两个正数相加,第32位都为0,两者补码与原码相同,取补码后相加,若进位,32位变成1,则计算机输出时,先输出负号,然后对结果取补码后输出,输出为负(常说的爆int)
若不进位,第32位为0,直接输出;
(2)若正数加负数,第32位为1和0,若正数大,负数小,负数取补码后大,相加必然进位,第32位再加1变成0,第33位舍弃,直接输出;
若负数大,正数小,负数取补码后小,相加必然不进位,第32位仍为1,先输出负号,然后对结果取补码后输出;
(3)若负数加负数,第32位同为1,取补码后相加,若进位,32位1+1+1=1,第33位舍弃,则计算机输出时,先输出负号,然后对结果取补码后输出;
若不进位,32位1+1=0,第33位舍弃,直接输出,输出为正(俗说的爆int);
---------写给丰谦
标签:输出,运算,32,相加,补码,负数,进位,计算机 From: https://www.cnblogs.com/Dengpc/p/16824495.html