我在CSCI课程中,我们正在学习程序执行。我正在运行一个名为“Brookshear机器模拟器”的程序,该程序由课堂教科书作者(J. Glenn Brookshear的计算机科学第11版)编写。该程序旨在添加11和0F的内容,将结果存储到F1中。我已经完成了所有必要的操作,并在11中生成了十六进制值,即09.然后我被要求将其转换为二进制补码8位二进制,这是我遇到问题的地方。我将来需要将一些十六进制值转换为两个compl 8位二进制文件,但是我无法弄清楚如何去做。有人可以帮我理解两个comp是什么,它是如何与8位二进制相关或相同的,所以我可以将它转换成二进制补码8位二进制?
这是机器模拟器的图片,其中输入符合实验室说明。我的任务是找到11(09)中的十六进制值,然后将其转换为二进制补码8位二进制。
答案 0 :(得分:2)
每个十六进制数字具有4位二进制等效值:
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
因此,如果您有一个两个字符的十六进制值,例如09
,那么您可以看到0
= 0000
和9
= 1001
,这样将是:
00001001
这是一个8位值。
当然,这适用于任何长度的十六进制数,例如,十六进制中的37FF
将是二进制的0011011111111111
。
请注意,两个补码与您的示例无关,因为数字为正。