导航:首页 > 源码编译 > 十进制数37的源码补码反码

十进制数37的源码补码反码

发布时间:2022-04-23 10:59:35

⑴ 十进制数的原码,反码,补码,表示形式

上述十进换转为二进制分别为
+56 +316 -115 -0 -158 +85
符号位0为正数符号位1为负数
0111000
0100111100
11110011
10
110011110
01010101
原码:正数的原码与它的二进位相同加上符号位0得
负数的原码的数值部分与它的二进位相同符号位为1
56D=111000B
56原
316D=100111100B
316原
-115D=-1110011B
11110011=243原
-0=0原
-158D=10011110B
110011110=414原
85D=1010101B
85原
正数的补码与它的二进位相同,符号位为0.负数的补码的数值部分等于它的二进位按位取反在最低位上加1,符号位取

反后为1
56D=111000B
56补
316D=100111100B
316补
-115D=-1110011B
10001100+1=141补
-0=0补
-158D=10011110B
101100001+1=354补
85D=1010101B
85补
正数的反码的数值部分等于它的二进制位相同,取8位二进位
负数的反码的数值部分等于它的8位二进制位按位取反
56D=111000B
56反
316D=100111100B
316反
-115D=-1110011B
0001100=12反
-0=0反
-158D=10011110B
01100001=97反
85D=1010101B
85反

⑵ 假定计算机字长为8,写出十进制数-27的原码、反码和补码表示形式

估计你是想问37(37默认为十进制数)用二进制表示的原码,反码,补码
计算机的字长为8,37的原码,反码,补码:
37的2进制的原码为:00100101
37的2进制的反码为:11011010
37的2进制的补码为:11011011
由此可见37-37=00100101-00100101=00100101+11011011=100000000=00000000=0
(高于8位的就溢出了那么100000000=00000000)
既然您问了10进制的表示方法,理论上是如下格式的:
不过一般不用10进制的原码,反码,补码。
37的10进制的原码为:00000037
37的10进制的反码为:99999962
37的10进制的补码为:99999963
比如数字“2”,“2”用十进制表示原码,反码,补码
分别如下:02,97,98
在此给你举个例子。
比如:2-2=02-02=02+98=00(100)=0
这里位数是两位的计算机,高于两位的就溢出了。
顺便说一下:
(1)补码=反码+1。
(2)正数的原码为其本身,负数的原码要加上首位符号标志位(最高位为1)。
对于(2),举例:5=0000
0101,-5=1111
1011
(补码)

⑶ .假定计算机字长为8,写出十进制数-27的原码、反码和补码表示形式

原码:最高位符号位为1,低7位把27转成十六进制11011,因此8位原码是
1001
1011,也就是十六进制的0x9B
反码:用1111
1111
减去
11011,得到
1110
0100,也就是十六进制的0xE4
补码:反码+1
=
1110
0101,也就是十六进制的0xE5

⑷ 十进制的原码、补码

十进制-67的原码是01000011、反码是10111100和补码是10111101。

转换规则:

1、负整数的原码为二进制前面加符号位;

-67=1000011(二进制)=11000011(原码)

2、负整数的反码=原码各位取反(除了符号位外);

11000011(原码)=10111100(反码)

3、负整数的补码=负整数的反码+00000001;

10111100(反码)=10111101(补码)

(4)十进制数37的源码补码反码扩展阅读:

已知一个数的补码,求原码的操作其实就是对该补码再求补码:

⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。

⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。

例:已知一个补码为11111001,则原码是10000111(-7)。

因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。

其余七位1111001取反后为0000110;再加1,所以是10000111。

⑸ 十进制数(-39.28)的原码、反码、补码各是多少了

十进制数(-39.28)的原码、反码、补码各是多少了?

-39的原码:(1000000000100111)二
-39的反码:(1111111111011000)二
-39的补码:(1111111111011001)二

-0.28的原码:(1010010010010010)二
-0.28的反码:(1101101101101101)二
-0.28的补码:(1101101101101110)二

-39.28的原码:(1000000000100111 .0100100100100100)二
-39.28的反码:(1111111111011000 .1011011011011011)二
-39.28的补码:(1111111111011001 .1011011011011100)二

⑹ 将十进制-37转换成二进制,用补码表示

错了2楼的
-37的原码为10100101 其中最高位1表示负号(如果是正的话就用0表示)
补码:
正数的补码与原码相同
负数的补码是该数的反码加1
所以要先求反码
反码
正数的反码为本身
负数的反码是 符号位最高位为1 其余各位为该数绝对植的原码按位取反
-37的反码为:11011010
所以答案是 11011011

⑺ -37的二进制原码反码及补码是多少

估计你是想问37(37默认为十进制数)用二进制表示的原码,反码,补码计算机的字长为8,37的原码,反码,补码:37的2进制的原码为:00100101
37的2进制的反码为:11011010
37的2进制的补码为:11011011
由此可见37
-37=00100101-00100101=00100101+11011011=100000000=00000000=0(高于8位的就溢出了那么100000000=00000000)

⑻ 38带符号十进制数的原码,反码,补码表示是

原码为: (38)10=(32+4+2)10=(00100000+0100+0010)2=(0010 0110)2
反码为:1101 1001
正数的补码为其本身,即:0010 0110

⑼ 十进制数—36的原码,反码和补码是什么

-36
原码:11011100 //最高位为符号为正数为0负数为1
反码:10100011 //符号位不变其它位置取反
补码:10100100 //反码加+1=补码

⑽ 一个数的原码,反码,补码怎么算

计算机中的存储系统都是用2进制储存的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码例如:输入25原码是:0000000000011001反码: 1111111111100110 补码: 1111111111100111

数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚. "(摘自<<数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(23).下面进入正题.

数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为

(-127~-0 +0~127)共256个.

有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits

( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确.

因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算:

( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10

(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题.

( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正确

问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).

于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:

(-128~0~127)共256个.

注意:(-128)没有相对应的原码和反码, (-128) = (10000000) 补码的加减运算如下:

( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) 正确

( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 正确

所以补码的设计目的是:

⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.

⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计

所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码

阅读全文

与十进制数37的源码补码反码相关的资料

热点内容
google浏览器无法定位服务器地址 浏览:471
服务器通道如何分区 浏览:528
cat命令显示用户主目录中的文件 浏览:604
程序员哪有可爱 浏览:837
郴州app开发哪里好 浏览:943
一只眼弱视程序员 浏览:577
android全屏无标题 浏览:117
梁的非加密区箍筋计算 浏览:966
linux7关闭防火墙 浏览:813
如何执行安全算法 浏览:730
设计模式程序员水平 浏览:917
最帅程序员爱德华 浏览:933
php并发框架 浏览:397
看健身app哪个好 浏览:33
php返回http状态码 浏览:48
ftp服务器怎么设置不同的用户 浏览:143
为什么视频加密不能看 浏览:537
哪个银行app存定期利息高 浏览:710
百度网盘不付费解压 浏览:613
python数据分析与网络 浏览:120