负70源码
A. 134的正负数,源码,反码,补码
咨询记录 · 回答于2021-09-29
B. 负数的补码怎么求的
9的源码为00001001,如果是负数的话,补码为最高位置1 ,其余取反也就是11110110,然后在最低位加1即可即11110111
C. 负数的补码怎么求
就比如-9 补码是11110111。
9的源码为00001001,如果是负数的话,补码为最高位置1,
其余取反也就是11110110,
然后在最低位加1即可即11110111。
D. 怎么求一个负数的原码和补码
补码,来自于:补数。
一般的常识:
钟表时针,倒拨 3 小时,可以用“正拨 9 小时”来代替。
同理,分针 倒拨 X 分,可以用 正拨 60-X 代替。
60 是分针的周期。
十进制数,两位:0~99,周期就是一百。
-1 可以用 +99 代替。
如:25 - 1 = 24
25 + 99 = (1) 24
忽略进位 1 百,结果就是相同的。
那么,-1 的补数,就是 99 。
-2 的补数,就是 98 。
-X 的补数,就是【 周期 + 该负数 】。
--------
借助于补数,就可以用加法,代替减法运算。
所以,计算机就可以节省硬件了。
--------
八位二进制:0000 0000~1111 1111(0~255)。
周期是 256。
那么,-1 可以用 1111 1111 (+255) 代替。
即:
-1 的补码,就是 1111 1111 (= 256-1=+255) 。
-2 的补码,就是 1111 1110 (= 256-2=+254) 。
。。。
-X 的补码,就是【 周期 + 该负数 】。
-128,就可以用 1000 0000 (= 128)代替 。
正数,不需要变换,直接运算即可。
--------
在计算机中,负数,就是用补码存储、计算的。
原码和反码,毫无用处,它们在计算机中都不存在。
E. 十进制-67的原码、反码和补码是多少
十进制-67的原码是01000011、反码是10111100和补码是10111101。
转换规则:
1、负整数的原码为二进制前面加符号位;
-67=1000011(二进制)=11000011(原码)
2、负整数的反码=原码各位取反(除了符号位外);
11000011(原码)=10111100(反码)
3、负整数的补码=负整数的反码+00000001;
10111100(反码)=10111101(补码)
(5)负70源码扩展阅读:
原码:
表示法在数值前面增加了一位符号位(即最高位为符号位):正整数该位为0,负整数该位为1,其余位表示数值的大小。
补码:
正整数的补码是其二进制表示,与原码相同。负整数的补码是将其原码除符号位外的所有位取反后加1。
补码转化为原码:
已知一个数的补码,求原码的操作其实就是对该补码再求补码:如果补码的符号位为“0”,表示是一个正整数,其原码就是补码。如果补码的符号位为“1”,表示是一个负整数,那么求给定的这个补码的补码就是要求的原码。
反码:
正整数:正整数的反码与原码相同。负整数:负整数的反码,符号位为“1”,数值部分按位取反。
参考资料来源:原码-网络
反码-网络
补码-网络
F. 如何用负数的补码来求原码,求例子
首先,负数的补码=其正数的源码的反码+1。然后,负数的源码就是先减1在取反,最高位为1
eg:(-125)源=11111101b,
(-125)反=10000010b,
(-125)补=10000011b,反过来求-125的源码就是用-125的补码10000011先减1,得到10000010,在取反01111101,最高位改成1,11111101,懂了吗?祝考试周愉快~
G. 计算机源码,反码,补码之间怎么计算
转换方法:
如果是正数或零,则首位为 0,补码=原码=反码。
否则,首位为 1,数值位取反加一,即可实现“补码与原码”互换。
例如:
对 1111 1001 取反,为 1000 0110,再加一,得:1000 0111。
对 1000 0111 取反,为 1111 1000,再加一,得:1111 1001。
这说明,补码 ←→ 原码,方法是相同的。
H. 负数的补码怎么求
正数的补码,是其本身。
负数的补码,就用它的正数,减一取反,即可得到补码。
如,已知:+9补码是:00001001。
下面求-9补码:
先减一:00001001-1=00001000;
再取反:11110111。
所以有:-9补码=11110111。
这不就完了吗?
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
不都是骗人的吗?
I. +0或者-0的源码、反码、补码
[+0]原码=0000 0000, [-0]原码=1000 0000
[+0]反码=0000 0000, [-0]反码=1111 1111
[+0]补码=0000 0000, [-0]补码=0000 0000
补码没有正0与负0之分。正数的反码、补码和其源码相同,负数的反码是其源码,除符号位外其他位取反负数的补码是取其反码后加1。
详细释义:
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
(一)反码表示法规定:
1、正数的反码与其原码相同;
2、负数的反码是对正数逐位取反,符号位保持为1;
(二)对于二进制原码10010求反码:
((10010)原)反=对正数(00010)原含符号位取反= 反码11101 (10010,1为符号码,故为负)
(11101) 二进制= -2 十进制
(三)对于八进制:
举例 某linux平台设置了默认的目录权限为755(rwxr-xr-x),八进制表示为0755,那么,umask是权限位755的反码,计算得到umask为0022的过程如下:
原码0755= 反码 0022 (逐位解释:0为符号位,0为7-7,2为7-5,2为7-5)
(四)补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
(9)负70源码扩展阅读
转换方法
由于正数的原码、补码、反码表示方法均相同,不需转换。在此,仅以负数情况分析。
(1) 已知原码,求补码。
例:已知某数X的原码为10110100B,试求X的补码和反码。
解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加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 00 补码
故:[X]补=11001100B,[X]反=11001011B。
(2) 已知补码,求原码。
分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。
例:已知某数X的补码11101110B,试求其原码。
解:由[X]补=11101110B知,X为负数。
采用逆推法
1 1 1 0 1 1 1 0 补码
1 1 1 0 1 1 0 1 反码(末位减1)
1 0 0 1 0 0 1 0 原码(符号位不变,数值位取反)
J. 十进制的原码、补码
十进制-67的原码是01000011、反码是10111100和补码是10111101。
转换规则:
1、负整数的原码为二进制前面加符号位;
-67=1000011(二进制)=11000011(原码)
2、负整数的反码=原码各位取反(除了符号位外);
11000011(原码)=10111100(反码)
3、负整数的补码=负整数的反码+00000001;
10111100(反码)=10111101(补码)
(10)负70源码扩展阅读:
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为11111001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。