结论:
1.计算前符号位扩展
2.有符号负数计算机计算过程直接计算,人工语言转化为原码计算。
首先需要确定的是在计算机中所有的数都是以补码的方式存在。
所以在无符号数计算,因为无符号数的补码就是本身,可以直接计算。
在有符号的计算中,假如为负数,人工计算的过程中,需要先将这个负数转化为原码的形式再进行计算。而计算机本身直接按照本身的补码形式计算即可。但是需要注意计算结果的位数,在计算之前需要将乘数都符号位扩展的方式转为相应的位数。
举例说明:
A = 101
B = 011
假如A,B都为无符号数:则计算机的计算过程和手工计算过程一样,都是直接移位计算,最后得到的结果为:5×3=15
假如都为有符号数,计算机的计算过程,先符号位扩展,两个三位想加结果为3+3=6位。
则A转变为:111101
B转变为:000011
最后结果为:-3×3=-9
而人工的计算过程为:将A转化为原码形式:-3
在计算:-3×3=-9。