16位和32位的名称

问题描述 投票:0回答:9

8 位称为“字节”。 16位怎么称呼? “短的”? “字”?

那么 32 位呢?我知道“int”与 CPU 相关,我对普遍适用的名称感兴趣。

terminology conventions bit
9个回答
22
投票

A byte 是计算机可以使用的最小数据单位。 C语言将

char
定义为一个“字节”,有
CHAR_BIT
位。在大多数系统上,这是 8 位。

另一方面,“字”通常是由 CPU 处理的值的大小。大多数时候,这是通用寄存器的大小。这个定义的问题是它不太适合老化。

例如,MS Windows WORD

数据类型是在早期定义的,当时 16 位 CPU 是常态。当 32 位 CPU 出现时,定义保留了下来,32 位整数变成了

DWORD

。现在我们有 64 位 
QWORD
远非“通用”,但以下是对此事的几种不同看法:

Windows

BYTE
    - 8 位,无符号
  • WORD
  • - 16 位,无符号
  • DWORD
  • - 32 位,无符号
  • QWORD
  • - 64 位,无符号
  • 
    
GDB

字节

    半字(两个字节)。
  • 字(四个字节)。
  • 巨字(八个字节)。

<stdint.h>

:

uint8_t
    - 8 位,无符号
  • uint16_t
  • - 16 位,无符号
  • uint32_t
  • - 32 位,无符号
  • uint64_t
  • - 64 位,无符号
  • uintptr_t
  • - 指针大小的整数,无符号
  • 
    
    (也存在有符号类型。)
如果您尝试编写依赖于特定数据类型大小的可移植代码(例如,您正在实现网络协议),

始终

使用

<stdint.h>


一组正好 8 位的正确名称实际上是“八位字节”。

4
投票
可能多于或少于 8 位(尽管这种情况相对较少)。

据我所知,除此之外,还没有严格定义的 16 位、32 位等术语。

16 位或 32 位测量单位没有通用名称。

术语“字”用于描述程序或操作系统一次处理的位数。因此,在 16 位 CPU 中,字长为 16 位。在 32 位 CPU 中,字长为 32 位。我还相信这个术语有点灵活,所以如果我编写一个程序,以 10 位块的形式进行所有处理,我可以将这些 10 位块称为“单词”。

4
投票
澄清一下; “int”不是计算机内存的计量单位。它实际上只是用于存储整数(即小数部分为零的数字)的数据类型。因此,如果您找到一种方法在您的编程语言中仅使用 2 位(或其他)来实现整数,那么它仍然是一个 int。

博士。沃纳·布赫霍尔茨 (Werner Buchholz) 创造了“字节”一词,意思是“描述一组有序位的数字信息单位,作为计算机可以处理的最小数据量”。因此,该词的实际含义取决于相关机器的架构。因此,一个字节中的位数是任意的,可以是 8、16,甚至 32。

有关该主题的完整论文,请参阅

3
投票

short


1
投票

int

 都依赖于编译器和/或体系结构。
int
是一种数据类型,在桌面 32 位或 64 位系统上“通常”是 32 位。我认为它不会比底层硬件的寄存器大小大,所以它应该始终是一种快速(通常足够大)的数据类型,适合常见用途。

  • short
     
    可能int
  • 更小,这就是你所知道的。实际上,它们
  • 通常
    是 16 位的,但你不能依赖它。
    word
     不是一种数据类型,它表示底层硬件的自然寄存器大小。
    关于16位或32位的名称,没有任何名称。没有理由给它们贴上标签。
  • 我过去常常把它们称为字节、字和长字。但正如其他人提到的,它取决于您正在开发的本机架构。

它们被称为2字节和4字节

0
投票

16 位和 32 位没有通用术语。单词的大小取决于机器。

0
投票

(将近11年后...)

0
投票
维基百科在其

信息单位

页面上提供了多个名称,包括用于 16 位数量的“doublet”和“chomp”,以及用于 32 位和 64 位数量的“quadlet”和“octlet”。

0
投票
值得注意的是,其中许多术语被引用自制造商文档或标准组织(例如“32 位微处理器架构的 IEEE 标准”,它定义了双字节、四字节、八字节和十六字节)。

还值得注意的是,其中一些术语是以

字节而不是位来指定的,因此它们在技术上仍然不精确,正如多个其他答案所警告的那样。

我特别喜欢 1、2 和 3 位元素的“sniff”、“snort”和“tribble”。我必须努力将这些融入到我的对话中......

© www.soinside.com 2019 - 2024. All rights reserved.