gpt4 book ai didi

c - 补码截断?

转载 作者:行者123 更新时间:2023-11-30 18:22:42 26 4
gpt4 key购买 nike

我正在努力理解从无符号转换为补码时截断是如何工作的。有人可以解释一下吗? (我的textook使用了将4位值截断为3位值的示例,并表示-1变为-1,但-5变为3)。

最佳答案

-1 用四个二进制位表示为:

1 1 1 1

(-1 始终表示为 2 的补码中的所有位 1)。

在教科书中,“截断”仅表示(*)“截掉最高位”:

  1 1 1

结果仍然具有其所有位集,因此它仍然表示 -1 - 这次是 -1 的 3 位 2 的补码版本。

-5 在 4 位上用 2 的补码表示为:

1 0 1 1

砍掉最高位:

  0 1 1

我们只剩下了 3 的 3 位表示。我们无法再得到 -5 的原因是 -5 的大小太大,无法适应 3 位格式。

当高阶位被截断时,可以用 3 位表示的较小量值的数字不会发生变化。从 -4 到 3 的数字就是这种情况。

(*) 请注意,通常“截断”意味着保留最高有效位并删除最低有效位,特别是在浮点上下文中,在转换为整数时,权重小于 1 的位将被删除通过“截断”。 OP 书中的词语选择非常值得怀疑,除非这本书不是英文的,并且翻译时的词语与英文并不完全对应。

关于c - 补码截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com