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

标签 binary

例如我有号码 -17 .我知道 17 的二进制表示是:00010001 ,你会如何把它变成一个 8 位的多余二进制文件?

最佳答案

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

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

final = unsigned + bias
final = -17
bias  = -127

我们最终得到
unsigned = final - bias = -17 - (-127) = 110

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

关于binary - 如何将十进制数计算为 8 位多余的二进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18074057/

相关文章:

c - 用 Haskell 写入二进制数据以供 C 读取?

php - 在没有 root 访问权限的主机上使用 PhantomJS

python-2.7 - 从十六进制值转换为二进制值

string - ASCII 字符串到 MATLAB 中的二进制向量?

http - 没有 Accept header 的 AWS API Gateway 二进制输出

c++ - 模位集算法

haskell - 如何使用 Data.Binary 存储递归数据类型

Python形态学n_ary_converter

c++ - ifstream 读取二进制数据发出 0x00 字节

c++ - 逐字节读取二进制文件