naming-conventions - 我们将字节中的第一位称为位 1 还是 0?

标签 naming-conventions byte bit

在这个例子中,我创建了一个整数。

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/

相关文章:

python - 如何使用 XML 存储和读取字节字符串(PyGame 图像)?我收到 ValueError 或 TypeError (无法序列化)。

java - Java 中字节不显示加法结果

MySQL SELECT 查询包含位字段和字符串字段比较 NULL 返回空集

c++ - 不同位的随机对

java - Java 中的反转位 - O(n)

html - 在 CSS 和 HTML 中命名 ID 和类的最佳方式是什么?

javascript - Javascript ES6 的属性和支持值命名约定

android - android 属性命名样式的变化有什么意义吗?

c++ - gmtime() 和 mktime() 中的 gm 和 mk 代表什么?

java - 将字节数组直接复制到Java中的剪贴板