1、假如我以二机制随便输入一个数字,计算机是如何辨别其是原码还是补码,也就是说计算机是如何辨别任意二进制正负数的?
2、看到有介绍说负数的表示方法(如11111111,-127的原码,负数在计算机中是以补码表示,除熟知的非最高位的每位取反加1,还有一种是多一个溢出位数字1,其余为全为0,然后用该数(256)减去负数原码,即100000000-11111111=10000001,即得到-127的二机制表示方法,这样表示的原理是什么?)?
在计算机系统中,只使用补码存放正负数。
计算机中,并没有原码和反码。
1、假如我以二机制随便输入一个数字,计算机是如何辨别其是原码还是补码,
也就是说计算机是如何辨别任意二进制正负数的?
你不可能输入数字。
你所输入的,并不是数字。
你只能输入 ASCII 码。
你在键盘上按一个键后,键盘就把对应的 ASCII 码,送到主机。
2、看到有介绍说负数的表示方法
(如11111111,-127的原码,负数在计算机中是以补码表示,
除熟知的非最高位的每位取反加1,还有一种是多一个溢出位数字1,其余为全为0,
然后用该数(256)减去负数原码,即100000000-11111111=10000001,
即得到-127的二机制表示方法,这样表示的原理是什么?)
负数,在计算机中,是以补码表示的。
补码,是由二进制加一减一,自然形成的,与原码反码毫无关系。
在八位机中,数字 0 ,是用八个 0000 0000 存放的。
数字-1,就用 0,减去一,即:
0000 0000-1 = (1) 1111 1111
抛弃借位(1),-1 就是:1111 1111 (十进制 255)。
数字-2,就再减一,得:1111 1110 (=254)。
数字-3,就再减一,得:1111 1101 (=253)。
... ...
-128,慢慢减吧,可得:1000 0000 (=128)。
这些,就是负数的补码。计算公式:【256 + 该负数】。
你用“取反加一”算一算,也是这个结果。
正数的补码,就是该数字本身,就不用算了。
------
补码的原理,你可以参考一下时钟:
倒拨 3 小时,可用正拨 9 小时代替。
9,就是-3 的补数。
算法:9 = 12-3。
对于二进制,就称为【补码】。
-3 的补码,就是:256-3=253=1111 1101 (二进制)。
------
利用补码,目的是:用加法,代替减法运算。
这就能简化计算机的硬件。
哦!谢谢,我一直以为都有原理的,原来都是约定啊!
本回答被提问者采纳原码反码和补码有什么区别?
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。正数的补码就是其本身,负数的补码是在其原码的基础上符号位不变,其余各位取反, 最后+1(即在反码的基础上+1)。正数的原码,反码,补码都一样。原码(true form)是一种计算机中对数字的二进制定点表示方法。原码...
计算机的原码,反码,补码是怎么回事?可以举例说明吗?
原码、反码和补码是计算机中对数字二进制的三种表示方法。1、原码 原码(trueform)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。例如:用8位二进制表示一个数,...
什么是原码、补码和反码?
原码 = 反码 + 1 反码 = 补码 - 1 补码 = 2^n - 1,其中n为数值的位数 例如,假设我们要计算一个8位有符号整数的原码、补码和反码,则可以按照以下步骤进行计算:1. 将8位二进制数10000001转换为十进制数:127 2. 计算原码:原码 = 反码 + 1,则反码为11111110,加上1得到原码为10000000...
原码反码补码计算
2. 反码:正数的反码与其原码相同;负数的反码是对其原码的每一位取反,即符号位不变,其余位取反。3. 补码:正数的补码与其原码相同;负数的补码是其反码加1。在计算机中,为了表示正数和负数,引入了原码、反码和补码的概念。原码是最直接的表示法,对于正数,其原码就是其二进制表示;而对于负数,...
原码补码反码怎么计算?
1、原码符号位1不变,整数的每一位二进制数位求反,得到反码。2、反码符号位1不变,反码数值位最低位加1,得到补码。方法:(1)正整数的原码,反码和补码计算。【符号位为0,原码=反码=补码】(2)负整数的原码,反码和补码计算,先求原码,再求反码,最后求补码。(3)根据补码求真值,一般...
原码反码和补码有什么区别?
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值,如\\x0d\\x0a[+1]原 = 0000 0001\\x0d\\x0a[-1]原 = 1000 0001\\x0d\\x0a正数的反码是其本身\\x0d\\x0a负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.\\x0d\\x0a[+1] = [00000001]原 = [...
电脑中原码和补码是什么关系?
原码,反码,补码是机器存储一个具体数字的编码方式。原码跟补码之间的关系是:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1。在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。原...
原码、反码、补码都是8位的吗?999的原码反码补码是多少?
1、原码、反码、补码主要看他的字型数据,如果字节型数据,占8位,那么它的原码、反码、补码都是8位。如果字型数据,占16位,那么它的原码、反码、补码都是16位。2、999必须要给定其数据类型,才能确定其原码、反码、补码。字节型数据只有8位,原码是0000 0011 1110 0111。反码是1111 1100 0001 ...
原码,反码,补码相关知识点总结
原码、反码和补码是计算机二进制表示中至关重要的概念。原码以符号位区分正负,正数原码和反码相同,负数则需取反数值部分;补码则是为了解决负数的加减运算问题,正数不变,负数的反码加1。比如,A=+10的原码、反码和补码都是0000 1010,而B=-19的相应值为1001 0011、1110 1100和1110 1101。在计算机...
什么是原码、反码、补码?
原码:正整数的原码:这个数的二进制,符号位为0;正整数的原码=补码=反码 例1:+66 66的二进制:1000010,所以+66的原码: 0 1000010 =补码: 0 1000010=反码: 0 1000010 负整数的原码:仍是这个数的二进制,符号位为1;负整数的原码、反码、补码计算:先求原码,再求反码,最后...