首页 > 技术文章 > 数据类型长度_重定义数据类型

Lunais 2017-08-01 09:38 原文

 数据类型长度:

01.         长整型long  整型int     短整型short 字符型char 浮点型float 双精度型double 指针型  
02.8位系统  16位        16位(2字节)            8位(1字节)                            8位(1字节)  
03.16位系统 32位(4字节) 16位(2字节) 16位(2字节) 8位(1字节) 32位(4字节)  64位(8字节)   16位(2字节)  
04.32位系统 32位(4字节) 32位(4字节) 16位(2字节) 8位(1字节) 32位(4字节)  64位(8字节)   32位(4字节)  
05.64位系统 64位(8字节)64位(8字节) 16位(2字节) 8位(1字节) 32位(4字节)  64位(8字节)   64位(8字节)

重新定义数据类型:

         写嵌入式C代码时,经常会遇到代码移植的问题。我们通常需要重新定义一些类型,防止由于各种平台和编译器的不同而产生的类型字节数差异。

01.typedef  unsigned char      boolean;     /* Boolean value type. */  
02.typedef  unsigned long int  uint32;      /* Unsigned 32 bit value */  
03.typedef  unsigned short     uint16;      /* Unsigned 16 bit value */  
04.typedef  unsigned char      uint8;       /* Unsigned 8  bit value */  
05.typedef  signed long int    int32;       /* Signed 32 bit value */  
06.typedef  signed short       int16;       /* Signed 16 bit value */  
07.typedef  signed char        int8;        /* Signed 8  bit value */  
08.  
09./* 另外一种写法,同样很方便清晰 */  
10.  
11.typedef  unsigned char     BYTE;           /* Unsigned 8  bit value type. */  
12.typedef  unsigned short    WORD16;         /* Unsinged 16 bit value type. */  
13.typedef  unsigned long     WORD32;         /* Unsigned 32 bit value type. */  
14.typedef  char   SBYTE;         /* Signed 8  bit value type. */  
15.typedef  short  SWORD16;       /* Singed 16 bit value type. */  
16.typedef  long   SWORD32;       /* Signed 32 bit value type. */  
17.  
18./* 不建议使用这种定义方式 */  
19.  
20.#define BYTE char  
21.#define WORD32 int 

 

推荐阅读