补码如何运算
答案:5 悬赏:80 手机版
解决时间 2021-03-30 19:36
- 提问者网友:雾里闻花香
- 2021-03-30 01:27
补码如何运算
最佳答案
- 五星知识达人网友:慢性怪人
- 2021-03-30 02:30
补码的运算:
一、补码加法
[X+Y]补 = [X]补 + [Y]补
例:X=+0110011,Y=-0101001,求[X+Y]补
[X]补=00110011 [Y]补=11010111
[X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010
注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010。
二、补码减法
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
其中[-Y]补称为负补,求负补的方法是:负数的绝对值的原码所有位按位取反;然后整个数加1。
例:1+(-1) [十进制]
1的原码00000001 转换成补码:00000001
-1的原码10000001 转换成补码:11111111
1+(-1)=0
00000001+11111111=00000000
00000000转换成十进制为0
0=0所以运算正确。
三、补码乘法
设被乘数【X】补=X0.X1X2……Xn-1,乘数【Y】补=Y0.Y1Y2……Yn-1,
【X*Y】补=【X】补×【Y】补,即乘数(被乘数)相乘的补码等于补码的相乘。
一、补码加法
[X+Y]补 = [X]补 + [Y]补
例:X=+0110011,Y=-0101001,求[X+Y]补
[X]补=00110011 [Y]补=11010111
[X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010
注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010。
二、补码减法
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
其中[-Y]补称为负补,求负补的方法是:负数的绝对值的原码所有位按位取反;然后整个数加1。
例:1+(-1) [十进制]
1的原码00000001 转换成补码:00000001
-1的原码10000001 转换成补码:11111111
1+(-1)=0
00000001+11111111=00000000
00000000转换成十进制为0
0=0所以运算正确。
三、补码乘法
设被乘数【X】补=X0.X1X2……Xn-1,乘数【Y】补=Y0.Y1Y2……Yn-1,
【X*Y】补=【X】补×【Y】补,即乘数(被乘数)相乘的补码等于补码的相乘。
全部回答
- 1楼网友:琴狂剑也妄
- 2021-03-30 06:28
取反加1
- 2楼网友:人類模型
- 2021-03-30 05:06
先画出源码,然后按位取出反码,然后加1,求出既可,晕,二楼已经说了
- 3楼网友:山河有幸埋战骨
- 2021-03-30 04:45
取反加1但是符号位(就是二进制的左起第一位)不变
- 4楼网友:从此江山别
- 2021-03-30 03:45
求补码运算要有区别的:
1 对于正数
其原码=补码
2 对于负数
写出其原码来,然后按位取反(符号位除外,符号位为最高位),然后加1,即可。
比如 对于32位字的 -8
其原码 1000 0000 0000 0000 0000 0000 0000 1000
取反 补码如何运算?
和普通的二进制数,的计算方法,完全相同。
结果,仍然是补码。
1 对于正数
其原码=补码
2 对于负数
写出其原码来,然后按位取反(符号位除外,符号位为最高位),然后加1,即可。
比如 对于32位字的 -8
其原码 1000 0000 0000 0000 0000 0000 0000 1000
取反 补码如何运算?
和普通的二进制数,的计算方法,完全相同。
结果,仍然是补码。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯