【问题标题】:how to determine signed binary number encoding?如何确定有符号二进制数编码?
【发布时间】:2014-06-19 16:24:42
【问题描述】:

我了解二进制补码的工作原理。我还了解有符号幅度和反码是如何工作的,以及二元补码相对于其他编码方法的优势。

我想不通的是,如果我被要求将带符号的十六进制数转换为 dec,例如0xF3C645AC,如何判断它使用的是哪种编码方式?

【问题讨论】:

  • 您无需了解数字的编码方式即可将其从一个基数更改为另一个基数。如果您想在转换为十进制之前进行解码,那么除非您知道它是如何编码的,否则您不能这样做。
  • @RedAlert 这对于正数可能是正确的,但如果数字是负数,并且它是用一个补码编码的,我用二进制补码解码它,我会得到错误的答案。
  • 解码数字与将其表示为不同的数字基数不同。如果你想解码一个数字,是的,你需要知道它是如何编码的。该信息不存储在号码本身中。

标签: binary twos-complement


【解决方案1】:

你不能。

这些解释方案本身并未编码在数据中。

机器通常不会在硬件级别实现两种整数表示,因此您可以放心地假设数字的表示方式与上下文中所有其他整数的表示方式相同。

...如果是一些练习/家庭作业,那么,为所有可能性解释,老师会很高兴:)

【讨论】:

  • 我害怕那个。这是一个“练习”,答案字段只接受 1 个答案,所以很遗憾我无法解码所有 3 种可能性的值。
  • 我明白了...我讨厌那些可疑的人!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多