热心网友
回答时间:2022-03-31 06:28
计算机中,使用 1、0 构成各种代码。
对于正负数字,只是使用【补码】来存储与计算。
原码反码,在计算机中,都是不存在的。
补码的编码规则如下:
十进制数字 0,其补码就是:0000 0000。
-1,就是“零减一”,即:0000 0000-1。
用二进制减法计算,可得:(1) 1111 1111。
机器数,只有 8 位,即:1111 1111 = 255(十进制)。
这就是-1 的补码。
继续减一,可得-2 的补码:1111 1110=254。
同理,-3 的补码是:1111 1101 = 253。
。。。
求负数补码的通用公式:-X 的补码=256-X。
(其中的 256,是 2 的 8 次方。可用十进制计算,有需要再转二进制。)
正数,不需要变换。
这就是补码的编码规则。
由此可见,补码,与原码反码毫无关系。
计算机中,也并不使用原码和反码。
收起
热心网友
回答时间:2022-03-31 07:46
关于原码反码补码,您可以借本
《计算机组成原理》看看计算机中数据的表示形式。
首先更正下楼上的说法,正数的原码反码补码都相同,即0011的反码也为0011
!!切记
举例来说:对于正数3,其二进制形式为
0011,我们把
0011成为成为真值,在计算机中用0或1表示正负号,那么
0011在计算机中原码可以表示为00011(第一位为符号位)。反码补码不变。
对于负数,反码即按位取反,比如10011可表示-3,10011为原码,那么符号位不变,其余位按位取反即反码11100.
补码的存在是为了简化计算的,其符号位一起参加运算,从而对于减法可转化为加法。补码的实质就是mod2。比如我们的钟表是mod12的,那么14点钟我们也可以说是下午2点。获得补码的方法是“按位取反,末位加1”那么10011的补码便是11101.。。。。。。。。。。
机器数即数值在计算机中的表示形式。
不知您明白了吗?
收起
热心网友
回答时间:2022-03-31 11:12
计算机是按二进制方式存储数据的
在计算机中表示整型数据有以下几种方法:
1.二进制补码
2.二进制反码
3.偏移表示法
4.带符号的数表示法
带符号的数表示法最高有效位是符号位,1为负,0为正。比如:00000001为1,10000001为-1
二进制反码是简单地把正数取反就是对应的负数了,比如00000001为1,11111110为-1
二进制补码在计算机中比较常用,当表示负数的时候,在原来原码的基础上再加1
偏移表示法用一个数与它相减就得到所需的数
Top
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。
收起