ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
表 5-1列出了 ARM 编译器的每种标量数据类型的大小、表示形式和范围。许多范围值在头文件 limits.h 中作为标准宏命令提供。
节 6.2.1中介绍了数据类型的存储和对齐。
范围 | ||||
---|---|---|---|---|
类型 | 大小 | 表示 | 最小值 | 最大值 |
signed char | 8 位 | ASCII | -128 | 127 |
char (1) | 8 位 | ASCII | 0 (1) | 255 (1) |
unsigned char | 8 位 | ASCII | 0 | 255 |
bool、_Bool | 8 位 | ASCII | 0 (false) | 1 (true) |
short、signed short | 16 位 | 二进制 | -32 768 | 32 767 |
unsigned short、wchar_t (2) | 16 位 | 二进制 | 0 | 65 535 |
int、signed int | 32 位 | 二进制 | -2 147 483 648 | 2 147 483 647 |
unsigned int | 32 位 | 二进制 | 0 | 4 294 967 295 |
long、signed long | 32 位 | 二进制 | -2 147 483 648 | 2 147 483 647 |
unsigned long | 32 位 | 二进制 | 0 | 4 294 967 295 |
long long、signed long long | 64 位(3) | 二进制 | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 |
unsigned long long | 64 位(3) | 二进制 | 0 | 18 446 744 073 709 551 615 |
enum(仅 TI_ARM9_ABI 和 TIABI)(4) | 不尽相同 | 二进制 | 不尽相同 | 不尽相同 |
float | 32 位 | IEEE 32 位 | 1.175 494e-38(5) | 3.40 282 346e+38 |
double | 64 位(3) | IEEE 64 位 | 2.22 507 385e-308(5) | 1.79 769 313e+308 |
long double | 64 位(3) | IEEE 64 位 | 2.22 507 385e-308(5) | 1.79 769 313e+308 |
指针、引用、数据成员指针 | 32 位 | 二进制 | 0 | 0xFFFFFFFF |