关于原码,反码,补码的定义(要分正负数,有符号和无符号的),写得详细些,通俗易懂?谁可以告诉我计算机中补码,反码和原码的准确定义

本文目录
关于原码,反码,补码的定义(要分正负数,有符号和无符号的),写得详细些,通俗易懂
原码就是这个数值本身的二进制形式
例如
0000 0001 表示+1
1000 0001 表示-1
有符号最高位表示符号位,0表示正,1表示负。
正数的原码,反码,补码都是这个数值本身的二进制形式。(2)负数的原码是数值的本身二进制形式。
负数的反码是对原码除符号位的其余各位取反(1变0,0变1)的操作。
负数的补码是先求反码,然后在+1。
(-3)原=(1000 0011)原=(1111 1100)反=(1111 1101)补设计补码的目的:
(1)在计算机中是没有减法运算的,只有加法运算。为了能达到使用减法,于是补码产生了。
(2)为了统一正0和负0在计算机中的表示。
(a)补-(b)补=(a)补+(-b)补
正数零:0000 0000
负数零:1000 0000
在原码中0表示有2种,给计算结果带来不正确。
但这两个0的补码确相同都是0000 0000
注意一点:如果在求补码+1后有进位,要一直往前进位,包括符号位
例如
(1000 0000)补=(1111 1111)反+1=(1 0000 0000) 最高位溢出了,符号位现在是0
1000 0000 这个补码比较特殊,代表的是-128.所以n位能表示的范围
-2^(n-1)到2^(n-1)-1 比n位原码能表示的数多个一个(原因没有+0和-0之分了,而-0用别的数表示,所以多一个)。
三.原码,反码,补码的表示方法
(1)原码:在数值前直接加符号位表示方法。
例如: 符号位 数值位
(+7)原= 0 000 0111
(-7)原= 1 000 0111注意:
a.数值0在原码中有两种表现形式
(+0)原=(0000 0000) (-0)原=(1000 0000)
b.8位二进制原码表示的范围-127~+127(2)反码:
正数:正数的原码和反码相同。
负数:负数的反码,符号位为“1”,数值部分按位取反。例如: 符号位 数值位
(+7)反= 0 000 0111
(-7)反= 1 111 1000注意:
a.数值0在反码中也有两种表现形式
(+0)反=(0000 0000) (-0)反=(1111 1111)
b.8位二进制原码表示的范围-127~+127
谁可以告诉我计算机中补码,反码和原码的准确定义
数在计算机中是以二进制形式表示的。
数分为有符号数和无符号数。
原码、反码、补码都是有符号定点数的表示方法。
一个有符号定点数的最高位为符号位,0是正,1是副。
以下都以8位整数为例,
原码就是这个数本身的二进制形式。
例如
0000001就是+1
1000001就是-1
正数的反码和补码都是和原码相同。
负数的反码是将其原码除符号位之外的各位求反
反=反=11111100
负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。
补=补=11111101
一个数和它的补码是可逆的。
为什么要设立补码呢?
第一是为了能让计算机执行减法:
[a-b]补=a补+(-b)补
第二个原因是为了统一正0和负0
正零:00000000
负零:10000000
这两个数其实都是0,但他们的原码却有不同的表示。
但是他们的补码是一样的,都是00000000
特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
补
=反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
有人会问
10000000这个补码表示的哪个数的补码呢?
其实这是一个规定,这个数表示的是-128
所以n位补码能表示的范围是
-2^(n-1)到2^(n-1)-1
比n位原码能表示的数多一个
又例:
1011
原码:01011
反码:01011//正数时,反码=原码
补码:01011//正数时,补码=原码
-1011
原码:11011
反码:10100//负数时,反码为原码取反
补码:10101//负数时,补码为原码取反+1
0.1101
原码:0.1101
反码:0.1101//正数时,反码=原码
补码:0.1101//正数时,补码=原码
-0.1101
原码:1.1101
反码:1.0010//负数时,反码为原码取反
补码:1.0011//负数时,补码为原码取反+1
在计算机内,定点数有3种表示法:原码、反码和补码
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
请大侠告诉我原码,反码,补码的定义
在计算机系统中,数值,一律使用补码来表示和存储。
补码的定义式,如下。
----------------------
定点小数的补码(mod=2):
[X]补 = X ( 0 ≤ X 《 1 )
[X]补 = 2 + X (-1 ≤ X 《 0 )
因此,-1.0 的补码为 2 + (-1) = 1.0000B。
----------------------
定点整数的补码(mod=2^n):
[X]补 = X ( 0 ≤ X 《 2^(n-1) )
[X]补 = 2^n - | X | (-2^(n-1) ≤ X 《 0 )
当 n = 8 时,-128 的补码 = 256-128 = 1000 0000B。
----------------------

更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00








