在这个例子中,我创建了一个整数。
int example = 0;
现在假设我想知道这个整数的第一位是什么。我知道它会在位位置 0。但我会称它为位 1 还是位 0。我问的原因是因为我看过文档,其中整数的第一位被标记为位 0,然后被标记为位 1。我知道这是他们的错误,只是好奇我应该将其称为什么。
最佳答案
大多数情况下,最低位称为位 0。
但是,这实际上取决于您提出问题的上下文。我曾在两个不同的(互连的)系统上工作过,当一个文档将其称为第 1 位,而另一个将其称为第 0 位。谈论混淆!重要的是,如果您记录某事,则始终对其进行限定。
通常,这称为“-indexed”。因此,如果最低位被称为“零位”,那么位域是“零索引”。
就个人而言,我总是将最低位称为位零。有了这个约定,你可以移动 1 n
位,打开第 n
位:
x = 1<<0; 00000001b (bit 0 is on)
x = 1<<4; 00010000b (bit 4 is on)
关于naming-conventions - 我们将字节中的第一位称为位 1 还是 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8950810/