我们在字节位1或0中调用第一位吗?

时间:2012-01-21 05:04:47

标签: naming-conventions byte bit

对于这个例子,我创建了一个整数。

int example = 0;

现在让我们说我想知道这个整数的第一位是什么。我知道它将位于位0位置。但我会将其称为位1或0.我问的原因是因为我看过文档,其中整数的第一位标记为位0,然后标记为位1。我知道这是他们的错误,只是好奇我应该把它称为。

2 个答案:

答案 0 :(得分:9)

大多数情况下,最低位被称为位0。

但是,它实际上取决于你所要求的上下文。我曾经在两个不同的(互连的)系统上工作,当一个人的文档称为第1位,而另一个人称之为第0位。谈论混乱!重要的是,如果你记录它,总是有资格。

通常,这称为“-indexed”。因此,如果最低位被称为“位零”,则位域为“零索引”。

就个人而言,我总是将最低位称为位零。使用此约定,您可以移动1 n个位置,以打开n位:

x = 1<<0;    00000001b  (bit 0 is on)
x = 1<<4;    00010000b  (bit 4 is on)

答案 1 :(得分:4)

如果简单地以2的幂为单位,则2 ** 0为1.对从0开始的位进行编号更有意义。