【问题标题】:Question about going from binary to hexadecimal?? and going from hexadecimal to decimal关于从二进制到十六进制的问题?并从十六进制变为十进制
【发布时间】:2019-03-12 15:46:28
【问题描述】:

关于作业的问题:

如何将-20(十进制)表示为定点表示法,8位,2的补码?

答案:

EC(16 ---> 十六进制。

问题:

我知道如何得到这个答案。我将基数 10 中的 -20 转换为 2 的补码,得到 11101100。十六进制的 1110=E 和十六进制的 1100=C。

然而,让我感到困惑的是,EC(16 等于十进制的 236。EC(16 怎么能同时等于十进制的 -20 和 236??!

我对它是如何工作的感到困惑?

【问题讨论】:

  • 这仅取决于位的解释方式。一个是有符号值,另一个是无符号值。某些编程语言允许您在定义变量时进行区分。
  • 那么如果我将 EC(16 转换回十进制(有符号),我会再次得到 -20?你能解释一下我如何从 EC 获得 -20 的值吗?跨度>
  • 看看这是否有帮助:stackoverflow.com/questions/52394643/…
  • 非常感谢您的帮助!

标签: binary hex decimal bit


【解决方案1】:

正如胡安所写:这仅取决于位的解释方式。更具体地说,在您的情况下,它仅取决于最高有效位的解释方式。两种情况下的低七位加起来为 22 + 23 + 25 + 26 = 4 + 8 + 32 + 64 = 108。现在,如果用作普通值位,最高位的值为 27 = 128,因此 108 + 128 = 236,而如果用作符号位的值为 -27 = -128,因此 108 - 128 = -20。

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2021-08-30
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    相关资源
    最近更新 更多