计算机存储有符号数主要采用 二进制补码的形式。补码的优势在于能够将符号位和数值域统一处理,并且使得加法和减法运算可以统一处理,从而简化了计算机内部的运算电路。
具体存储方式如下:
符号位:
最高位是符号位,用于表示数的正负,0表示正数,1表示负数。
数值位:
剩余的位数用来表示数值的大小。
对于正数,其原码、反码和补码都是相同的。而对于负数,其补码是通过以下步骤得到的:
原码:数值位逐位取反(符号位除外)。
反码:符号位不变,其他位取反。
补码:在反码的基础上加1。
例如,对于8位二进制数,+5的原码是`0000 0101`,反码也是`0000 0101`,补码同样是`0000 0101`。而对于-5,其原码是`1000 0101`,反码是`1111 1010`,补码则是`1111 1011`。
总结来说,计算机中存储的有符号数是以二进制补码的形式,这样可以高效地进行加法和减法运算,并且简化了计算机内部的运算电路。