Delphi/C++ Builder各种数据类型的值表达范围

类型

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函数

附音儿小白提供的一幅图,其中的浮点数中的取值范围我觉得不应该是取舍范围,实际上是精度范围更确切说吧。

无标题

分享到: