二进制的原码补码和反码

数据在计算机是以二进制的形式来存储的,按照数据的补码来存储的。
正数的原码、反码、补码都是相同的。负数的补码就是它的相反数的原码的各个位取反后,再+1得到的。0的原码,补码都为0。
1个字节可以表示2的8次方=256个数,按照正负数划分就把它表示成范围:-128-127。
二进制的八位数里边用最高位表示符号位,最高位是0则表示正数,最高位是1则表示负数,其余7位用来存储数值大小,可以表示128个数的绝对值,加上正负两种情况,128×2=256个数。但是0在计算机中储存为00000000,所以正数无法到达128,对于正数,从00000001到01111111依次表示1到127。因而这些数在计算机中存储对应的二进制码就是这些数的原码。从10000000到11111111依次表示-128到-1。负整数在计算机中是以补码形式储存的,补码就是反码再+1。反码就是把负数的原码(负数的原码和它的绝对值所对应的原码相同,也就是绝对值相同的两个数他们的原码相同)各个位按位取反(1换成0,0换成1)例如-1的原码是00000001,和他的绝对值1的原码相同,则-1的反码就是11111110,而补码就是在反码的基础上再加1,即-1的补码是11111110+1=11111111,所以,-1在计算机中存储的二进制码为11111111。
posted @ 2018-10-08 11:37  HHHarden13  阅读(1583)  评论(0编辑  收藏  举报