ARM中的字、半字、字节是多少位?
一、对于嵌入式地层开发人员
字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。
半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。
字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。
ARM 采用的是32位架构.
ARM 约定:
Byte : 8 bits
Halfword :16 bits (2 byte)
Word : 32 bits (4 byte)
二、对于应用程序开发人员
1、字节,byte,8bit,就是8个二进制位,一个ASCII字母占用的空间
2、字,word,16bit,一个汉字占用的空间
3、双字,dword,32bit
例如在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
也就是说BYTE是无符号的char型(char型本质上也是一种1个字节的整型),WORD是无符号short型,DWORD是无符号long型。
而在Visual C++ 6.0中,char型长度为1字节,short型长度为2字节,int和long型长度都为4字节,因此可以认为BYTE与WORD,DWORD定义的变量分别获得了1字节,2字节,4字节内存。
从windows的计算器也能看出一些端倪:
注:我的电脑是WIN7 64BIT,CPU是I5系列。可以看出这个计算器和你电脑的操作系统和CPU的位数无关
我在VS2010实验的结果如下:
系统环境:WIN7 64BIT 旗舰版
VS2010 64BIT
工程配置属性为WIN32和X64的结果都如下所示
http://blog.chinaunix.net/uid-21977330-id-3801847.html