如何将十进制数计算为 8 位多余的二进制数?

Rya*_*yan 5 binary

例如我有号码-17。我知道 的二进制表示17是:00010001,你如何将其转换为 8 位多余的二进制?

Jon*_*Jon 4

首先,您需要为过多的表示选择一个偏差。由于通常选择等于可用幅度范围一半的偏置,因此对于 8 位,我们将选择 -127 作为偏置。

这意味着您有 8 位将被解释为无符号整数,并且将从该整数中减去 127 以获得最终结果。因此,既然我们有

final = unsigned + bias
final = -17
bias  = -127
Run Code Online (Sandbox Code Playgroud)

我们最终得到

unsigned = final - bias = -17 - (-127) = 110
Run Code Online (Sandbox Code Playgroud)

因此 -17 的超出 127 表示将是 01101110(十进制 110)。

  • @rockydgeekgod:你不知道——除了拥有原始数据之外,你绝对必须知道“表示规则”。一个有点相关的例子:如果我告诉你“有10种人”,你怎么知道10是十进制的十而不是二进制的二? (2认同)