在这里插入图片描述
说明如下:


对于8位带符号的二进制数:

原码:范围 -127~-0,+0~+127

  二进制正数 0 0000000-0 1111111 ,   十进制 +0~+127,共128种状态
  二进制负数 1 1111111 -1 0000000,   十进制 -127~-0,共128种状态   

反码:范围 -127~-0,+0~+127

  二进制正数 0 0000000-0 1111111 ,   十进制 +0~+127,共128种状态
 二进制负数 1 0000000 -1 1111111,   十进制 -127~-0,共128种状态   

补码:范围 -128~0~+127

  二进制正数 0 0000000-0 1111111 ,   十进制 +0~+127,共128种状态
  二进制负数 1 0000000-1 0000001 ,   十进制 -128~-1,共128种状态  

注:

[-0]补码=[-0]反码+1=1 11111111+1= 00000000=[+0]补码,即
[-0]补码=[+0]补码

1.[+0]原码=0000 0000, [-0]原码=1000 0000;

2、[+0]反码=0000 0000, [-0]反码=1111 1111;

3、[+0]补码=0000 0000, [-0]补码=0000 0000

[-1]补码=[1 0000001]补码=1 1111110+1=1 1111111,即 [-1]补码是 -127

[-127]补码=[1 1111111]补码=1 0000000+1=1 0000001,即[-127]补码是 -1

[-128]补码=[-127]补码+[-1]补码 = 1 0000001+1 1111111 =1 0000000

结论:
原码范围:-127~-0,+0~+127,256种状态
反码范围:-127~-0,+0~+127,256种状态
补码范围:-128~-1,+0~+127,256种状态,因为[-0]补码和[+0]补码相同,在补码中-128代替了-0。也可认为是一种规定,这样可都是256种状态。
要注意:(-128)没有相对应的原码和反码, (-128) = (10000000)


Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐