8 位称为“字节”。 16位怎么称呼? “短的”? “字”?
那么 32 位呢?我知道“int”与 CPU 相关,我对普遍适用的名称感兴趣。
A byte 是计算机可以使用的最小数据单位。 C语言将
char
定义为一个“字节”,有CHAR_BIT
位。在大多数系统上,这是 8 位。
另一方面,“字”通常是由 CPU 处理的值的大小。大多数时候,这是通用寄存器的大小。这个定义的问题是它不太适合老化。
例如,MS Windows WORD
DWORD
。现在我们有 64 位
QWORD
。
远非“通用”,但以下是对此事的几种不同看法:Windows
BYTE
WORD
DWORD
QWORD
: 字节
:
uint8_t
uint16_t
uint32_t
uint64_t
uintptr_t
(也存在有符号类型。)
始终
使用<stdint.h>
。
据我所知,除此之外,还没有严格定义的 16 位、32 位等术语。
16 位或 32 位测量单位没有通用名称。术语“字”用于描述程序或操作系统一次处理的位数。因此,在 16 位 CPU 中,字长为 16 位。在 32 位 CPU 中,字长为 32 位。我还相信这个术语有点灵活,所以如果我编写一个程序,以 10 位块的形式进行所有处理,我可以将这些 10 位块称为“单词”。
博士。沃纳·布赫霍尔茨 (Werner Buchholz) 创造了“字节”一词,意思是“描述一组有序位的数字信息单位,作为计算机可以处理的最小数据量”。因此,该词的实际含义取决于相关机器的架构。因此,一个字节中的位数是任意的,可以是 8、16,甚至 32。
有关该主题的完整论文,请参阅
int
都依赖于编译器和/或体系结构。
int
是一种数据类型,在桌面 32 位或 64 位系统上“通常”是 32 位。我认为它不会比底层硬件的寄存器大小大,所以它应该始终是一种快速(通常足够大)的数据类型,适合常见用途。
short
可能比
int
是 16 位的,但你不能依赖它。
word
不是一种数据类型,它表示底层硬件的自然寄存器大小。关于16位或32位的名称,没有任何名称。没有理由给它们贴上标签。
它们被称为2字节和4字节
16 位和 32 位没有通用术语。单词的大小取决于机器。
(将近11年后...)
信息单位
页面上提供了多个名称,包括用于 16 位数量的“doublet”和“chomp”,以及用于 32 位和 64 位数量的“quadlet”和“octlet”。还值得注意的是,其中一些术语是以
字节而不是位来指定的,因此它们在技术上仍然不精确,正如多个其他答案所警告的那样。
我特别喜欢 1、2 和 3 位元素的“sniff”、“snort”和“tribble”。我必须努力将这些融入到我的对话中......