如何在32位机器中表示符号位

Sha*_*ash 1 c byte bit

可以说我在32位机器上工作.参考作为符号位的MSB(最高有效位),我的问题是它如何代表这种结构.

我的理解是每个字节都有一个符号值.因此,如果是这种情况,那么将有四个有符号位.我在这里纠正或遗漏了什么.谢谢!

Jon*_*Jon 5

字节是比特组.它们没有任何固有的含义,也没有构成它们的位.只有当您选择将这四个字节解释为有符号整数时,才会给出含义,然后这些位意味着它们的含义,因为平台设计者会这么说.

在几乎所有流行的体系结构中,整数用二进制表示.这意味着:

  1. 整个值只有一个符号位(不是每个字节都有),但这是事实上的条件,因为平台设计者选择使用两个补码 - 而不是因为宇宙中所有MSB都有一些特殊之处.
  2. 对于无符号值(显然)没有任何符号位.