类型 |
Delphi名 | C++名 | 最小值 | 最大值 |
备注 |
布尔 | boolean | bool |
false |
true |
|
8位整数 | shortint | char |
-128 |
127 |
|
8位无符号整数 | byte | unsigned char |
0 |
255 |
Byte在C++中为别名 |
16位整数 | smallint | short |
-32768 |
32767 |
|
16位无符号整数 | word | unsigned short |
0 |
65535 |
|
32位整数 | integer | int |
-2147483648 |
2147483647 |
long同样为32位 |
32位无符号整数 | cardinal | unsigned int |
0 |
4294967295 |
|
64位整数 | int64 | __int64 |
-9223372036854775808 |
9223372036854775807 |
long long与其等价 |
64位无符号整数 | uint64 | unsigned __int64 |
0 |
1844674407370955160 |
|
单精度浮点数 | single | float |
-3.40282346638529E38 |
3.40282346638529E38 |
|
双精度浮点数 | double | double |
-1.79769313486232E308 |
1.79769313486232E308 |
|
扩展精度浮点数 | extended | long double |
-1.18973149535723E4932 |
1.18973149535723E4932 |
|
BCD | TBcd | TBcd |
-9…9(64个9) |
+9…9(64个9) |
|
货币 | Currency | Currency |
-922337203685477.5808 |
922337203685477.5807 |
|
日期类型 | TDateTime | TDateTime |
1-1-1 |
9999-12-31 |
该限制存在于Sysutils.TryEncodeDate函数 |
附音儿小白提供的一幅图,其中的浮点数中的取值范围我觉得不应该是取舍范围,实际上是精度范围更确切说吧。