为什么有点,称为一点。为什么8位是一个字节?是什么让人们称之为16位字,依此类推。他们的别名在何处以及为何出现?
我希望其他人能够包含基本ASM类型之类的内容,然后分支到C/C++并转到SQL等数据类型。
答案 0 :(得分:13)
维基百科是你的朋友:
答案 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)。