数据类型从哪里获取其名称?

时间:2010-09-29 08:47:38

标签: c++ c assembly types sqldatatypes

为什么有点,称为一点。为什么8位是一个字节?是什么让人们称之为16位字,依此类推。他们的别名在何处以及为何出现?

我希望其他人能够包含基本ASM类型之类的内容,然后分支到C/C++并转到SQL等数据类型。

  1. 1位
    1. Bit - b inary Un it
    2. 布尔 - 以窃取逻辑乔治Boole的发明者命名。
  2. 4位
    1. 半字节 - 咬/字节大小的一半。
  3. 8位
    1. 字节 - Coined from "bite" but respelled to avoid accidental mutation to "bit"
    2. 字符
    3. 八位位组 - Is a grouping of eight bitsfrom the Latin "octo" meaning "eight".
  4. 16位
    1. Word(无符号整数)
    2. 短(有符号整数)
  5. 32位
    1. 双字
    2. int(有符号整数)
    3. 无符号(无符号整数)
    4. float(4字节浮点数)

6 个答案:

答案 0 :(得分:13)

维基百科是你的朋友:

  • bit
  • nibble
  • byte
  • “char”只是“character”的缩写
  • “short”是“short int”的别名
  • word“是CPU可以处理的本机或最有效的大小”(感谢Tony指出它)。
  • “int”是“整数”的缩写。大小未定义(可以是16位,32位或64位)。
  • “float”是“浮点数”的缩写
  • “double”是“双精度浮点数”的缩写

答案 1 :(得分:3)

Aaron忘记的是Bool:这可以追溯到逻辑学家Boole,他将“布尔”逻辑的发明归功于他。

答案 2 :(得分:2)

  • bit是二进制数字。
  • 浮点数应该是明确的(浮点语义)

其余的,我只能猜测

答案 3 :(得分:1)

我一直认为8位被称为Octet,你生活和学习。 ;)

答案 4 :(得分:0)

可能你可能会问: 为什么m被称为米?为什么1km代表1000m?

解决问题......以简单的方式思考。不要让自己陷入紧张。

答案 5 :(得分:0)

你签名的short / int / long / word / dword约定不仅仅是x86-ism;这是一个Windows-ism(SHORT / LONG / WORD / DWORD)。当标准(u)int N _t类型对每个人都更清楚时,我不明白为什么Windows程序员会喜欢它们。

我不认为 x86自然带有“单词”和“双字”;寄存器是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)。