二补数的计算
CheckSum需要用到二补数的计算,所以就查了一些资料,发现了几种方法,总结一下,怕自己忘记了。
范例如下:
(2's complement) of(DA+SA+Length+Data)
DA=2E
SA=1
Length=1
Data=0
算法一:
(2E+1+1+0)——转为10进制——(48)——转为二进制——(00110000)——取反 ——(11001111)——加1——(11010000)——转为16进制——(D0)
算法二、
(2E+1+1+0)——转为16进制——(30)
把30分成3和0,用F去分别减:
F-3=C
F-0=F
得到CF,最后CF+1=D0
算法三、
(2E+1+1+0)——转为10进制——(48)
256-48=208
(208)——转为16进制——(D0)