就是该数本身,即是该数的二进制本身。
eg:7:0000 0111
该数的二进制
进行一次取反
最后再+1
得到结果
eg: -7 :1111 1001
// 过程 // 7 0000 0111 // - 1000 0000 // -7 1111 1000 // -7 1111 1001
- 1
- 2
- 3
- 4
- 5
原因出处
用补码的好处主要有以下几点:
方便计算: 符号位可以和数值一起参与运算,可直接(结果只要在范围内)按位相加减,
这是原码的缺点
。在计算机中,使用补码可以直接进行加减乘除等运算,无需特殊的处理。这是因为补码规定了一套统一的表示方法,使得计算机可以简单地执行基本算术运算,简化了硬件设计和运算过程。唯一性: 能保证每个整数都唯一表示,
原码的缺点:既有-0又有+0
。这种唯一性对于计算机进行精确计算和比较操作非常重要,避免了因为不同的表示方式导致的误判或错误结果。符号位处理简单:补码中最高位是符号位,0代表正数,1代表负数。这种表示方法使得符号位的处理非常简单,无需额外的判断和特殊处理,可以直接参与运算。
避免了溢出问题:使用补码可以有效地避免溢出问题。在补码中,溢出就是指结果超出了给定的位数范围。补码通过将溢出的位丢弃,使得结果仍然能够正确地表示。这样可以保证在有限的位数范围内进行运算而不产生错误的结果。
总的来说,补码的使用简化了计算机的运算和处理过程,提高了计算效率和精度,并且保证了结果的唯一性和正确性。