什么是原码,反码,补码

www.zhiqu.org     时间: 2024-06-18

原码

如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示该数的绝对值。

例如:

X=+101011 , [X]原= 0010_1011
X=-101011 , [X]原= 1010_1011

位数不够的用0补全。

PS:正数的原、反、补码都一样,0的原码跟反码都有两个,因为这里0被分为+0和-0。

反码

知道了原码,那么你只需要具备区分0跟1的能力就可以轻松求出反码,为什么呢?因为反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。

例如:

X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100

补码

补码也非常的简单,就是在反码的基础上按照正常的加法运算加1。

例如:

X=-101011 , [X]原= 1010_1011 ,[X]反=1101_0100,[X]补=1101_0101

负数的补码这么记更简单:符号位不变,其他的从低位开始,直到遇见第一个1之前,什么都不变;遇见第一个1后保留这个1,以后按位取反。

例:

[-7]原= 1 000011_1
[-7]补= 1 111100_1

PS:0的补码是唯一的,如果机器字长为8那么[0]补=0000_0000。

知道了原理后

6二进制是110,位数不够,用0,00000110

正数的反码是其本身。负数的反码是在其原码的基础上,【符号位不变】,其余各个位【取反】。

反码00000110

正数的补码就是其本身。负数的补码是在其原码的基础上,【符号位不变】,其余各位取反,最后+1,即【取反+1】。

补码00000110



~


#阳虹哈# 何为原码,何为反码,何为补码.,何为补码.. -
(15946279137): 原码(true form)是一种计算机中对数字的二进制定点表示方法.原码表示法在数值前面原码增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小. 补码规定:正数的补码与原码相同.负数的补码等于其原码的符号位不变,数值部分的各位取反,然后整个数加1. 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外

#阳虹哈# 二进制中的反码、补码、原码是什么? -
(15946279137): 电脑只认识0和1所以都是用的二进制 所以,比如: 2 的原码 0010 (前面是都是0,省略) 反码 1101 ( 就是把0与1反过来啊, 注意前面的0 都是1,全部反) 至于补码, 这就是要讨论的数值溢出, 因为位数太大, 我只先8位来说明明: 8位的最大数是: 0111 1111 再加1的话,会变成 1000 0000 这个就是负数了(1开头为负) 比如:127 +1 就会变成 -128 再+1 = -127 一直加到127

#阳虹哈# 计算机中原码,补码,反码,是什么? -
(15946279137): 异或(xor)逻辑运算符按位进行异或运算 1000010001xor1100101010--------------------- 0100111011相同为真,相异为假希望能对你有帮助,望采纳,谢谢!

#阳虹哈# 什么是原码 什么是补码 二者有什么联系 - 作业帮
(15946279137):[答案] 假设机器码为8位, 比如15,他的二进制是00001111,因为他是正数,所以原码为00001111(不变),反码为01110000,补码为01110001 比如-15,他的二进制是-00001111,因为他是负数,所以原码为10001111(第一位为符号位,1表示负,0...

#阳虹哈# 谁可以告诉我计算机中补码,反码和原码的准确定义? -
(15946279137): 原码是一串二进制数,是原始数据,最高位为符号位,正数为0,负数为1. 反码是对原码各位进行求反得到,不改变符号位. 补码分两种情况: 1,对正数来说,补码即原码. 2,对负数来说,补码是原码的反码再加上1. 计算机中一般用补码来表示数据.

#阳虹哈# 计算机的原码,反码,补码是怎么回事?可以举例说明吗? -
(15946279137): 计算机的原码,反码,补码是怎么回事?可以举例说明吗?计算机中,并没有原码和反码.补码是怎么回事?这得从“补数”谈起.计算机所计算的位数,是固定的,如八位机...位数限定之后,就可以用“补数”代替负数,用加法实现减法...

#阳虹哈# 请大侠告诉我原码,反码,补码的定义
(15946279137): 原=10110100B 为负数 求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1. 1 0 1 1 0 1 0 0 原码 1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反 1 +1 1 1 0 0 1 1 0 0 补码 反=11001011B 补=11001100B

#阳虹哈# JAVA中原码 反码 补码是什么意思?
(15946279137): 反码是将其2进制数每一位按位取反. 即1改为0,0改为1. 补码则不同. 正数的补码是其源码本身 负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变. 例如: 10进制数11: 源码:00001011; 反码:11110100; 补码:00001011; 十进制数-11: 源码:10001011; 反码:01110100; 补码:11110101;

#阳虹哈# 关于原码,反码,补码的定义(要分正负数,有符号和无符号的),写得详细些,通俗易懂 -
(15946279137): 原码就是这个数值本身的二进制形式 例如0000 0001 表示+11000 0001 表示-1 有符号最高位表示符号位,0表示正,1表示负.正数的原码,反码,补码都是这个数值本身的二进制形式. (2)负数的原码是数值的本身二进制形式. 负数的反码是...

#阳虹哈# 请问,什么叫原码反码补码?说简单些 -
(15946279137): 原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作[x]原.补码可由原码得到.如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的.设有一数X,则X的补码表示记作[X]补.反码可由原码得到.如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的.设有一数X,则X的反码表示记作[X]反.