C++ 数据类型的名称是从哪里来的?
为什么是一点点,叫一点点。为什么8位是一个字节?是什么让人们把一个单词叫做16位,以此类推。他们的别名是在哪里产生的,为什么产生的 我希望其他人包括一些基本类型,然后扩展到和类似的数据类型C++ 数据类型的名称是从哪里来的?,c++,c,assembly,types,sqldatatypes,C++,C,Assembly,Types,Sqldatatypes,为什么是一点点,叫一点点。为什么8位是一个字节?是什么让人们把一个单词叫做16位,以此类推。他们的别名是在哪里产生的,为什么产生的 我希望其他人包括一些基本类型,然后扩展到和类似的数据类型 1位 -二进制单位 布尔-以布伦逻辑乔治的发明者命名 4位 半字节-位/字节大小的一半 8位 字节- 煤焦 八位组- 16位 字(无符号整数) 短(有符号整数) 32位 双字 整数(有符号整数) 无符号(无符号整数) 浮点(4字节浮点) 位是二进制数字 浮点应该是清晰的(浮点语义) 剩下的,我只
位是二进制数字
- 浮点应该是清晰的(浮点语义)
剩下的,我只能猜测维基百科是你的朋友:
- “char”只是“character”的缩写
- “short”是“short int”的别名
- “是CPU可以处理的本机或最有效的大小”(感谢您指出这一点)
- “int”是“integer”的缩写。大小未定义(可以是16、32或64位)
- “float”是“浮点数”的缩写
- “double”是“双精度浮点数”的缩写
- 亚伦忘记的一个是布尔:这要追溯到逻辑学家,他被认为是“布尔”逻辑的发明者 我一直认为8位被称为八位字节,你可以活到老学到老。;) 您可能会问:
为什么米被称为米?为什么1000米代表1公里
问题是。。。用简单的方式思考。不要让自己陷入紧张状态。您对符号的short/int/long/word/dword的约定不仅仅是x86 ism;这是一个Windows ism(短/长/字/DWORD)。我不明白为什么Windows程序员如此喜欢它们,因为标准(u)intN\t类型对几乎所有人来说都更清楚 我不认为x86自然而然地带有“word”和“double word”;寄存器为al、ah(8位)、ax(16位)、eax(32位)。不过,我忘了如何指定内存移动的大小 M68K指令有.b(字节)、.w(字)和.l(长)后缀。没有双/四字IIRC ARM具有ldb(字节)、ldh(半字)、ldr(寄存器) PPC有字节、半字、字和双字IIRC 一般来说,谈论“字大小”是毫无意义的,因为它高度依赖于体系结构,即使如此,它也会发生变化(我怀疑现代x86实现16位算术比32位算术快多少)
也有“指针大小”定义,但是AMD64只有48位虚拟地址(前17位应该是全部1或全部0)。注意:在C++中,数据类型占用的位数是依赖于实现的。例如,一个字符可以是7位。一个字节是底层机器的本机小型数据类型。有些机器没有8位字节,浮动也不总是占用32位。但是我只是想把基本的数据类型记下来,这样我就可以理解为什么它们是这样命名的。我希望人们一旦理解了数据类型名称的基础,就会更好地理解如何使用它。@空间:不,char必须至少有8位。顺便说一句,有些机器的字符==…=long==32位。您指定的大小在许多语言和硬件上都是错误的。例如,双字是x86特有的(大多数32位CPU只是将一个字定义为32位),所以它被称为a
bit
,因为它是ab
inary digit
?我一直认为它是bi
nary digit
;)我认为这证明了你可以问一个愚蠢的问题,并在这里得到一个明智的答案。谢谢@Aaron。我理解“word”是CPU能够处理的本机或最有效的大小——非类型化的内存量。这可以与int进行比较和对比,虽然numeric最初也意味着在不影响效率的情况下根据最大效用(范围)调整大小,但给定CPU有时有两个同样有效的大小,并且对int施加了某些限制和期望(特别是给定long、long-long),实际上,两者的大小可能有所不同。不一定是最小的。有什么可以支持你的主张吗?我可以引用@Tony,同意。我也希望看到这方面的消息来源。引用Donald Knuth的话会有用的,如果他写过的话。我知道这个词是用来表示CPU最小的可寻址数据单元的,但为什么它被称为词呢?是因为人类用文字交流,这些文字是由字母(比特)组成的吗。我在寻找这些名字的基础。@马克:“同意……单词……表示最小的”@ Mark:一个词不是最小的可寻址单位。(通常是一个字节)。如果你想要一个反例,你现在使用的x86 CPU将一个字定义为16位宽,但最小的可寻址单元仍然是一个8位字节(或一个八位字节)。是电信业的人称字节为八位字节吗?@Jdv,八位字节不是最正确的名称吗?这就引出了IP地址,它使用4个字节(实际上在本例中称为八位字节)组成IP地址。@jdv:法国人似乎经常这样做。@snemark,所以这是一种文化现象?这是否意味着IP地址的发明者是法国人?八位字节是一个明确的术语,表示8位的有序集合。字节是计算机上最小的可寻址单元,现在几乎总是8位。在网络协议中,使用八位字节是为了完全明确,因为根据定义,您并不是在谈论特定的计算机体系结构。例如,如果您将IP地址定义为4字节而不是4个八位字节,PDP 10系统程序员将为您编写一个具有36位IP地址的网络堆栈