文章目录
摘要
文章为学习记录。主要介绍计算机系统中用于表示有符号整数的三种不同编码方式:原码、反码和补码。
一、原码
(1)第一位表示符号,正数为0,负数为1。其余位表示值。如果用8位二进制数来表示:
[+5]原= 0000 0101
[-5]原= 1000 0101
(2)8位二进制数表示的十进制数范围:
[1111 1111 , 0111 1111]
即
[-127 , 127]。
(3)特点:直观易懂,但在进行减法运算时会出错。
二、反码
(1)正数的反码是其本身,负数的反码是在其原码的基础上,保持符号位不变,其余各位按位取反。
[+5] = [0000 0101]原= [0000 0101]反
[-5] = [1000 0101]原= [1111 1010]反
(2)8位二进制数表示的十进制数范围:
[1111 1111 , 0111 1111]
即
[-127 , 127]。
(3)特点:减法可以通过加法来实现,但仍然存在两个零(+0和-0)的问题。
三、补码
(1)正数的补码就是其本身。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。
[+5] = [0000 0101]原= [0000 0101]反 =[0000 0101]补
[-5] = [1000 0101]原= [1111 1010]反 =[1111 1011]补
(2)8位二进制数表示的十进制数范围:
[-128 , 127]。
[1000 0000]补 = -128
[0000 0000]补 = 0
(3)特点:统一了零的表示(只有一种零),并且使得减法运算可以通过加法器实现。计算机中有符号数用补码表示。
标签:---,1111,0000,补码,0101,003,反码,原码 From: https://blog.csdn.net/weixin_55949063/article/details/144483071