如果从一个较小的数字中减去一个较大的数字,则需要借用。进位标志在减法操作期间起借位的作用。现在假设我们要从56中减去66,显然需要借位,并将设置进位标志。现在如何执行减法来获得结果-10,计算机如何区分结果将是负数。请解释一下流程。
发布于 2010-05-18 02:06:31
计算机不做减法运算。它做了一个负数的加法。
因此,56 -66 = 56 +(- 66 )
56 = 0x38 (十六进制38 )
-66 = 0xFFFFFFBE (32位系统中0x42的补码)
如果你将这些十六进制数字相加,你将得到0xFFFFFF6,这是一个十进制10的0xA的负数。
https://stackoverflow.com/questions/2851412
复制相似问题