补码除法怎么算?
发布网友
发布时间:2022-04-27 09:19
我来回答
共2个回答
热心网友
时间:2023-09-18 01:24
在十进制状态下把结果算出来。然后转换为二进制,最后看这个结果的正负,如果是正数,那么源码=反码=补码,如果是负数,反码=源码(除符号位)取反。补码=反码+1
-3的源码为10000101,第一个1是符号位,因为是负数。
反码为11111010
补码为11111110追问电脑里被除数和除数都是用补码存储的,那在电脑程序内部计算的时候是这么算的吗?还是某些系统或者某些语言是这么算的?
追答这个嘛,我所知道的是电脑内部是这么算的 。
热心网友
时间:2023-09-18 01:24
看作/(2^2);
利用补码除以2的次幂的位移计算
参考:(x+(1<<k)-1)>>k
k=2;
x=-12 : [10100]
1<<2 : [0001]<<2 得到 [0100];
[10100]+[0100]-[0001]得到[10111];
[10111]>>2 得到[101]即为-3