名称为16位和32位

时间:2013-01-06 10:05:46

标签: terminology conventions bits

8位称为“字节”。如何调用16位? “短”? “字”?

32位怎么样?我知道“int”依赖于CPU,我对普遍适用的名称感兴趣。

8 个答案:

答案 0 :(得分:9)

字节是计算机可以使用的最小数据单位,通常为8位。

另一方面,

通常是CPU通常处理的值的大小。大多数情况下,这是通用寄存器的大小。这个定义的问题是它没有适应年龄。

例如,MS Windows WORD数据类型是在早期定义的,当时16位CPU是常态。当32位CPU出现时,定义保持不变,32位整数变为DWORD。现在我们有64位QWORD s。

远非“普遍”,但这里有几个不同的看法:

Windows

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

GDB

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

<stdint.h>

  • uint8_t - 8位,无符号
  • uint16_t - 16位,无符号
  • uint32_t - 32位,无符号
  • uint64_t - 64位,无符号
  • uintptr_t - 指针大小的整数,unsigned

(也存在签名类型。)

如果您正在尝试编写依赖于特定数据类型大小的可移植代码(例如,您正在实施网络协议),始终使用<stdint.h>

答案 1 :(得分:2)

博士。 Werner Buchholz创造了字节这个词,意思是“用于描述有序像素组的数字信息单元,作为计算机可以处理的最小数据量。”因此,该词的实际含义取决于所讨论的机器的架构。因此,字节中的位数是任意的,可以是8,16甚至32。

有关该主题的详尽论文,请参阅Wikipedia

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:1)

正好8位的组的正确名称实际上是octetbyte可能有多于或少于8位(尽管这种情况相对较少)。

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

答案 4 :(得分:0)

我曾经把它们称为字节,字和长字。但正如其他人所说,它依赖于您正在进行的本机架构。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

shortwordint都依赖于编译器和/或体系结构。

  • int是一种数据类型,在桌面32位或64位系统上通常 32位。我认为它不会比底层硬件的寄存器大小大,所以它应该总是一个快速(通常足够大)的数据类型供常用。
  • short 可能的尺寸小于int,这就是你所知道的。在实践中,它们通常 16位,但你不能依赖它。
  • word不是数据类型,而是表示底层硬件的自然寄存器大小。

关于16位或32位的名称,没有任何名称。没有理由标记它们。