【问题标题】:Converting hex into two's complement 8 bit binary将十六进制转换为二进制补码 8 位二进制
【发布时间】:2014-03-01 02:35:38
【问题描述】:

我正在上 CSCI 课程,我们正在学习程序执行。我正在运行一个名为“Brookshear 机器模拟器”的程序,该程序由课程教科书的作者(J. Glenn Brookshear 的计算机科学第 11 版)的作者编写。该程序旨在将11和0F的内容相加,将结果存储到F1中。我已经完成了所有必要的工作,并在 11 中生成了十六进制值,即 09。然后我被要求将其转换为二进制补码 8 位二进制文​​件,这就是我遇到问题的地方。将来我需要将一些十六进制值转换为二进制的 8 位二进制,但我不知道该怎么做。有人可以帮我理解什么是二进制比较,它与 8 位二进制有什么关系或相同,所以我可以将它转换为二进制补码 8 位二进制?

这是机器模拟器的图片,其中包含按照实验室说明进行的输入。我的任务是在 11 (09) 中找到十六进制值,然后将其转换为二进制补码 8 位二进制。

【问题讨论】:

    标签: binary hex


    【解决方案1】:

    每个十六进制数字都有一个等效的 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 = 00009 = 1001,那就是:

    00001001
    

    这是一个 8 位的值。

    这当然适用于任何长度的十六进制数,例如,十六进制的 37FF 将是二进制的 0011011111111111

    请注意,二进制补码与您的示例无关,因为数字是正数。

    【讨论】:

    • 非常感谢!!为什么这本书不能像你说的那样简单。谢谢你一百万次!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2012-06-26
    • 2018-06-24
    • 2012-01-06
    • 1970-01-01
    • 2016-05-24
    • 2021-12-03
    相关资源
    最近更新 更多