类型 | 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函数 |
附音儿小白提供的一幅图,其中的浮点数中的取值范围我觉得不应该是取舍范围,实际上是精度范围更确切说吧。