返回首页

0.1010的原码反码补码?

207 2024-04-18 19:29 admin   手机版

一、0.1010的原码反码补码?

答:0.1010的原码反码补码是0.101(十进制) = 0.0001100111011011(二进制)。

下面科普十进制的机座作用:固定定子铁心与前后端盖以支撑转子,并起防护、散热等作用。构造:机座通常为铸铁件,大型异步电动机机座一般用钢板焊成,微型电动机的机座采用铸铝件。封闭式电机的机座外面有散热筋以增加散热面积,防护式电机的机座两端端盖开有通风孔,使电动机内外的空气可直接对流,以利于散热。

二、-49源码,反码,补码?

以8位机器码为例,-49的

原码:10110001 //首位为1表示负数,110001即为49的二进制值

反码:11001110 //除符号位外,将原码每一位取反

补码:11001111 //在反码末位+1

三、用补码一位乘法计算X*Y的补码,写出计算过程,X=0.1010,Y=-0.0110?

X的补码为0.1010,-X的补码为1.0110,Y的补码为1.1001(低位有4位)。

高位 低位(乘数补码处理值) 说明

00 0000 |110010 最低位10,高位加-X的补码

11 0110

————

11 0110

11 1011 01|1001 执行右移,最低位01,高位加X的补码

00 1010

————

00 0101

00 0010 10|1100 执行右移,最低位00,高位加0

00 0000

————

00 0010

00 0001 010|110 执行右移,最低位10,高位加-X的补码

11 0110

————

11 0111

11 1011 1010|11 执行右移,乘数补码被右移出去,进行最后一次

00 0000 运算,最低位11,高位加0

————

11 1011 1010|11

最终结果为11.10111010,因为补码一位乘结果用的是双符号位,换成单符号位就是1.10111010。

我总结了点补码一位乘的方法,给你参考下

处理对象:被乘数补码*乘数补码=两数积的补码。

预处理: 1、单独算出被乘数的相反数的补码,同时乘数补码往右扩一位补0(乘数补码处

理值),积的符号位与其余位必须一同计算。

2、两数补码相乘拆分为多个加法运算。

3、每次加法运算分为高位和低位两部分处理,高位初始值为0、位数是在带符号被乘

数位数基础上向左扩一位(利于右移),低位初始值是乘数补码处理值、位数与乘数

数据位位数相同。

第一次加:4、第一次加法是由高位和加数相加,加数的值由乘数补码处理值的最低两位确定

(若为01,加数为被乘数补码,若为10,加数为被乘数的相反数的补码,若这两位

的数值相等,则加数为0;加数左边多余的一位根据其符号位确定补0还是补1,符

号位为0则补0,符号位为1则补1)。

5、此次加法运算结束后,加法运算所得的高位(部分积)与低位合成一个整体并右移1

位得到新的高位和低位(右移时左边补0还是补1由右移前的符号位确定,符号位为

0则补0,符号位为1则补1,,另外在右移时乘数补码处理值也连带着右移)。

第二次加:6、高位再次进行加法处理,加数的值由新得到的乘数补码处理值的最低两位确定(确

定方法同第4点)。

7、此次加法运算结束后,加法运算所得的高位(部分积)与低位合成一个整体并右移1

位得到新的高位和低位(右移时高位左边补0或1的确定方法同第5点,另外在右移

时乘数补码处理值也连带着右移)。

循环加法:8、按“第二次加”的方法循环,直至低位将乘数补码处理值的每一位都右移出去后,

再进行一次加法运算(此次加法运算结束后不进行右移),此时得到的高位和低位

合成一个整体就是最终乘积,这个最终乘积是双符号位。

9、所得的最终乘积的小数位数必须是被乘 数补码与乘数补码的小数位数之和。

关于双符号位:00 正,11 负,01 上溢,10 下溢。

附注:无论是原码一位乘,还是补码一位乘、补码二位乘,与手工算法都有共通之处,都是根据

乘数每一位(或两位) 的状态在被乘数的基础上来确定加数(如被乘数、被乘数补码、被

乘数相反数补码、0),因为乘数是二进制的, 每一位只有0、1两种状态,所以又免去

了手算十进制乘法中以乘数每一位去乘被乘数来确定加数的过程,而右 移所得的部分

积就相当于手算乘法中左移加数。

四、x的补码和-x的补码关系?

例:X=-0.1101,求【-X】的补码

先求 -X=0.1101(就是换符号,你可以先这么理解,具体的可能不是这样的)

然后再求-X的补码,根据补码运算规则:

正数或零:[X]补=[X]原

负数:符号位为1,各数值位取反,最低位加1。

或:符号位为1,数值部分从高位到低

位取反,直到最后一个“1”前。

便可得到【-X】的补码为0.1101

再比如X=0.1101,求【-X】补码

先求 -X=-0.1101,原码即为1.1101,根据补码规则,【-X】补码=1.0011

注:在计算机寄存器中是不显示小数点的,为了方便理解,把小数点标出来了

五、+115的补码?

答:+115的补码是115(十进制) = 1110011(二进制)。

下面科普十进制发展趋势:我国的电机行业也涌现了一批产量规模大,产品水平、质量好,技术装备先进的企业。但是,还没有哪一家的产品份额能在国内市场上占到统治地位。中小电机至今还没有形成具有国际影响力的品牌。 电机行业亟需重新整合、优胜劣汰,这已成为电机行业的发展趋势。

六、2022的补码?

答:2022的补码是2022(十进制) = 11111100110(二进制)。

下面科普一下有关十进制光纤介绍:光纤有些网络应用要求很高,它要求可靠、高速地长距离传送数据,这种情况下,光纤就是一个理想的选择。光纤具有园柱形的形状,由三部分组成:纤芯、包层和护套。

七、+66的补码?

原码11000010

反码10111101

补码10111110

66的二进制:1000010,所以+66的原码: 0 1000010 =补码: 0 1000010=反码: 0 1000010

负整数的原码:仍是这个数的二进制,符号位为1;负整数的原码、反码、补码计算:先求原码,再求反码,最后求补码;

原码转换为反码:符号位不变,数值位按位取反;

原码转换为补码:符号位不变,数值位按位取反,末尾在+1;

八、011的补码?

正数的补码表示

正数的补码 = 原码

负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or

= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}

以十进制整数+97和-97为例:

+97原码 = 0110_0001b

+97补码 = 0110_0001b

-97原码 = 1110_0001b

-97补码 = 1001_1111b

2.纯小数的原码

纯小数的原码如何得到呢?方法有很多,在这里提供一种较为便于笔算的方法。

以0.64为例,通过查阅可知其原码为0.1010_0011_1101_0111b。

操作方法:

将0.64 * 2^n 得到X,其中n为预保留的小数点后位数(即认为n为小数之后的小数不重要),X为乘法结果的整数部分。

此处将n取16,得

X = 41943d = 1010_0011_1101_0111b

即0.64的二进制表示在左移了16位后为1010_0011_1101_0111b,因此可以认为0.64d = 0.1010_0011_1101_0111b 与查询结果一致。

再实验n取12,得

X = 2621d = 1010_0011_1101b 即 0.64d = 0.1010_0011_1101b,在忽略12位小数之后的位数情况下,计算结果相同。

九、-1的补码?

计算机中-1的补码是1,1111111

拓展内容:

正数的原码反码和补码都是一样的,就是本身

所以1的原码是0,0000001

反码是0,0000001

补码是0,0000001

负数的反码是原码求反,补码是反码+1

所以-1的原码是1,0000001

反码是1,1111110

补码是1,1111111

第一位是符号位

十、-181的补码?

原码——10010010

反码——11101101

补码——11101110

这是单字节的,若需要2字节或4字节,原码把最高位写1中间用0补齐,反码补码就把最高位填满不足的字节即可。如2字节的如下——

原码——10000000 00010010

反码——11111111 11101101

补码——11111111 11101110

4字节的照猫画虎自己弄。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片