ARM中的字、半字、字节是多少位?

总结:

字节永远都是8bit,字的大小依赖于平台(可以通过sizeof()函数进行查看),但是可以确定的是,字是多少位,半字永远是字的一半,双字永远是字的2倍大小

一、对于嵌入式底层开发人员

字(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的计算器也能看出一些端倪:

ARM中的字、半字、字节是多少位?_第1张图片ARM中的字、半字、字节是多少位?_第2张图片

ARM中的字、半字、字节是多少位?_第3张图片ARM中的字、半字、字节是多少位?_第4张图片

注:我的电脑是WIN7  64BIT,CPU是I5系列。可以看出这个计算器和你电脑的操作系统和CPU的位数无关

我在VS2010实验的结果如下:

系统环境:WIN7 64BIT    旗舰版    

                 VS2010  64BIT 

                 工程配置属性为WIN32和X64的结果都如下所示

ARM中的字、半字、字节是多少位?_第5张图片ARM中的字、半字、字节是多少位?_第6张图片

http://blog.chinaunix.net/uid-21977330-id-3801847.html

 

你可能感兴趣的:(ARM中的字、半字、字节是多少位?)