|
发表于 2019-1-26 16:35:28
|
显示全部楼层
想一想我们在十进制中如何计算一个正数乘以一个负数?
举例
17 * (-114) = ?
先计算17 * 114 = 1938
然后在1938前面加一个负号变成 -1938
仔细看,我们在计算时是计算两个正数相乘,最后把两个正数相乘的结果取反
在二进制中同样如此
- 0001 0001 17
- 1000 1110 -114
- 1111 1000 0110 1110 -1938
- 1000 1110 -114
- 0111 0010 114
- 00000000
- 000100010
- 0000000000
- 00000000000
- 000100010000
- 0001000100000
- 00010001000000
- 000000000000000
- 000011110010010
- 0000 0111 1001 0010 1938
- 1111 1000 0110 1110 -1938
复制代码
1000 1110 是 -114
0111 0010 是 114
114 * 17 = 1938
0111 0010 * 0001 0001 = 0000 0111 1001 0010
0000 0111 1001 0010 是 1938
把0000 0111 1001 0010变成负数
1111 1000 0110 1110 是 -1938
|
|