【发布时间】:2010-11-11 00:34:53
【问题描述】:
你如何区分?
例如,假设您有0110 0101 1001 0011。
无符号 BCD 是 6593,但有符号值是多少?
【问题讨论】:
你如何区分?
例如,假设您有0110 0101 1001 0011。
无符号 BCD 是 6593,但有符号值是多少?
【问题讨论】:
通常,您可以通过explicitly storing the sign 来区分。
基数补码 (en.wikipedia.org/wiki/Method_of_complements)
【讨论】:
0110 000 000 000 应该是 6000 未签名(显然)但 -4000 已签名。 -4000 是如何签名的?
在正常的二进制系统中,带符号的数字使用MSB(最高有效位)来确定数字的符号,数字的其余部分是实际值。
与 Packed BCD 不同,4 个 LSb(最低有效位)代表符号,其余(左侧)数字代表实际值。
【讨论】: