原码、反码与补码
一、原码
原码即数字在计算机中储存的二进制格式,而对于有符号的整型数据,则将其最高位即编码的第一个位置作为符号位,符号位为0则为正,符号位为1则为负。
例如 -1 的原码为: 10 00 00 00 00 00 00 01 第一位即符号位为1,表示负数
1 的原码为: 00 00 00 00 00 00 00 00 第一位即符号位为0,表示正数
二、反码
对于正数而言,其反码、补码与其原码都是相同的,而负数的反码则是其原码除去符号位的数外,将0变为1,将1变为0,这便是其反码。
例如 -1 的原码为: 10 00 00 00 00 00 00 01
则其反码为: 11 11 11 11 11 11 11 10
三、补码
负数的补码即将其反码加一,满2进1,便是补码。
例如 -1 的反码为:11 11 11 11 11 11 11 10
则其补码为: 11 11 11 11 11 11 11 11
注意:负数在计算机中都是以二进制的补码形式来表示和储存的,计算的时候也是直接进行补码的运算。