在开发中经常会遇到一个文字这个单位,那么一个文字是什么概念呢?
计算机中最基础的单位是1比特(bit ),8比特构成1字节。 这是最基础的概念。
但是,字这个单位不同,其大小因硬件平台和编译器而异。
首先我们常说的字word是双字节dword是四字节,这是基于X86平台的Windows环境。
例如,在Visual C 6.0中,BYTE、WORD和DWORD本质上是无符号整数,由WINDEF.H定义,定义如下:
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
您可以看到头文件的名称也是WINDEF.H。
以上这些概念基本上如果不是嵌入式开发的话是正确的。 任何JAVA、C#、C For WIndows都没有问题,但在嵌入式编程中又不同。
对于ARM架构的MCU来说
字(Word ) :字的长度为32位,但在8位/16位处理器架构中,字的长度通常为16位。
半字:半字的长度为16位,与8位/16位处理器架构的字长一致。
字节(Byte ) :在32位、8位和16位处理器体系结构中,字节的长度均为8位。
ARM采用32位体系结构。
ARM约定:
Byte : 8 bits
half word:16位(2位) )。
word :32位(4位)。