8位称为“字节”。如何调用16位? “短”? “字”?
32位怎么样?我知道“int”依赖于CPU,我对普遍适用的名称感兴趣。
答案 0 :(得分:9)
字节是计算机可以使用的最小数据单位,通常为8位。
另一方面,字通常是CPU通常处理的值的大小。大多数情况下,这是通用寄存器的大小。这个定义的问题是它没有适应年龄。
例如,MS Windows WORD
数据类型是在早期定义的,当时16位CPU是常态。当32位CPU出现时,定义保持不变,32位整数变为DWORD
。现在我们有64位QWORD
s。
远非“普遍”,但这里有几个不同的看法:
BYTE
- 8位,无符号WORD
- 16位,无符号DWORD
- 32位,无符号QWORD
- 64位,无符号GDB:
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)
答案 4 :(得分:0)
我曾经把它们称为字节,字和长字。但正如其他人所说,它依赖于您正在进行的本机架构。
答案 5 :(得分:0)
它们被称为2个字节和4个字节
答案 6 :(得分:0)
16位和32位没有任何通用术语。单词的大小取决于机器。
答案 7 :(得分:0)
short
,word
和int
都依赖于编译器和/或体系结构。
int
是一种数据类型,在桌面32位或64位系统上通常 32位。我认为它不会比底层硬件的寄存器大小大,所以它应该总是一个快速(通常足够大)的数据类型供常用。short
可能的尺寸小于int
,这就是你所知道的。在实践中,它们通常 16位,但你不能依赖它。word
不是数据类型,而是表示底层硬件的自然寄存器大小。关于16位或32位的名称,没有任何名称。没有理由标记它们。