16进制快速求补法

16进制快速求补法:最低位16-x, 其余位15-x
举例:( - 0x1234)补 = 0xEDCC
适用于手算16进制加减法,注意只有负数才需要求补码

证明(m 是 位数):
b 补 = 2^m - b = (2^m - 1 - b) + 1 = (1000...0 - 1 - b) + 1
= (111...1 - b) + 1,
而对于十六进制,就类似于
= (...FFFF - b) + 1 = (... 15 15 15 15 - b) + 1
= (...FFF16 - b)
然后各16进制位做减法就好,最低位16-bx, 其余位15-bx

posted @ 2024-05-10 14:07  hk416hasu  阅读(280)  评论(0编辑  收藏  举报