
面试高老师为您分享以下优质知识
负数在计算机中采用 补码形式存储,具体规则如下:
一、基本存储规则
符号位表示
所有二进制数最高位为符号位,0表示正数,1表示负数。例如,32位系统中,`00000000 00000000 00000000 00000011`表示正数3,`10000000 00000000 00000000 00000011`表示负数-3。
二、补码计算方法
原码转反码
先将负数的绝对值转换为二进制原码,然后逐位取反(0变1,1变0)。例如,-5的原码为`101`,反码为`010`。
反码加1
在反码基础上加1得到补码。例如,-5的反码`010`加1后为`011`,即补码`11111011`(32位系统)。
三、优势与特点
运算统一性
补码使得加法和减法可以统一处理,无需单独处理负数。例如,`-3 + 2`可转化为`11111111 11111111 11111111 11111011 + 00000000 00000000 00000000 00000010`,按位运算后结果为`11111111 11111111 11111111 11111001`,即-1。
范围扩展
补码系统能表示比原码更广的负数范围。例如,8位原码可表示-128,而补码可表示-128到127。
四、特殊情况
零的表示
无论正负,零的补码与原码相同,均为全0(如`00000000`)。
五、应用场景
计算机底层实现
所有整数类型(如int、long)在内存中均以补码形式存储,确保运算一致性和效率。