如何使用二进制补码添加十六进制数?
How to add hex numbers using two's complement?
我正在本地大学学习计算机科学初级课程,此作业的一部分要求我将十六进制数转换为其等效的十六进制数。我们使用在线基本计算机来执行此操作,该计算机接受特定输入特定输入。
所以根据我的附录,当我输入某个代码时,它应该 "add the bit patterns [ED] and [09] as though they were two's complement representations." 当我将代码输入系统时,它会给出 F6 的输出...但我不知道它是如何到达那里的。
我了解如何添加二进制补码,我了解如何添加两个普通的十六进制数,但是当我添加 09(应该是二进制补码 9 的十六进制版本)和 ED(应该是是二进制补码的十六进制版本 -19),如果添加二进制补码,我得到 10,如果添加十六进制,我得到 162。
好吧,你只是把自己弄糊涂了。停止转换。这都是十六进制的:
ED
+ 09
----
D + 9 = 16 // keep the 6 and carry the 1
1
ED
+ 09
----
6
1 + E = F
ED
+ 09
----
F6
关于第一步,使用 0x 表示十六进制数字,这样我们就不会迷路:
0xD = 13,
0x9 = 9,
13 + 9 = 22,
22 = 0x16
因此
0xD + 0x9 = 0x16
必须 运行,但在我离开之前再快速编辑一下。
D + 1 = E
D + 2 = F
D + 3 = 10 (remember, this is hex, so this is not "ten")
D + 4 = 11
...
D + 9 = 16
我正在本地大学学习计算机科学初级课程,此作业的一部分要求我将十六进制数转换为其等效的十六进制数。我们使用在线基本计算机来执行此操作,该计算机接受特定输入特定输入。
所以根据我的附录,当我输入某个代码时,它应该 "add the bit patterns [ED] and [09] as though they were two's complement representations." 当我将代码输入系统时,它会给出 F6 的输出...但我不知道它是如何到达那里的。
我了解如何添加二进制补码,我了解如何添加两个普通的十六进制数,但是当我添加 09(应该是二进制补码 9 的十六进制版本)和 ED(应该是是二进制补码的十六进制版本 -19),如果添加二进制补码,我得到 10,如果添加十六进制,我得到 162。
好吧,你只是把自己弄糊涂了。停止转换。这都是十六进制的:
ED
+ 09
----
D + 9 = 16 // keep the 6 and carry the 1
1
ED
+ 09
----
6
1 + E = F
ED
+ 09
----
F6
关于第一步,使用 0x 表示十六进制数字,这样我们就不会迷路:
0xD = 13,
0x9 = 9,
13 + 9 = 22,
22 = 0x16
因此
0xD + 0x9 = 0x16
必须 运行,但在我离开之前再快速编辑一下。
D + 1 = E
D + 2 = F
D + 3 = 10 (remember, this is hex, so this is not "ten")
D + 4 = 11
...
D + 9 = 16