有符号整数(三)
3、乘法运算相乘时先对符号位按位异或运算,然后对数值位进行乘法运算,数值位相乘与十进制相似。
例1:105×78
1) 两个整数的二进制形式
10510 = 0000 0000 0000 0000 0000 0000 0110 10012
7810 = 0000 0000 0000 0000 0000 0000 0100 11102
2) 对符号位按位异或运算
0^0 = 0
3) 数值位相乘
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||
× | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | ||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
所以积的原码为0000 0000 0000 0000 0001 1111 1111 1110,即8190。
例2:(-15)×(-25)
1) 两个整数的二进制形式
-1510 = 1000 0000 0000 0000 0000 0000 0000 11112
-2510 = 1000 0000 0000 0000 0000 0000 0001 10012
2) 对符号位按位异或运算
1^1 = 0
3) 数值位相乘
0 | 1 | 1 | 1 | 1 | ||||
× | 1 | 1 | 0 | 0 | 1 | |||
0 | 1 | 1 | 1 | 1 | ||||
0 | 0 | 0 | 0 | 0 | ||||
0 | 0 | 0 | 0 | 0 | ||||
0 | 1 | 1 | 1 | 1 | ||||
0 | 1 | 1 | 1 | 1 | ||||
1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
所以积的原码为0000 0000 0000 0000 0000 0001 0111 0111,即375。