Skip to content

标准数据类型限制


标准变量类型及其限制。

数值类型

类型位数格式最小值最大值字面量后缀有效位数
BYTE8有符号整数-128+1272+
UBYTE8无符号整数0+2552+
SHORT16有符号整数-32768+327674+
USHORT16无符号整数0655354+
LONG32有符号整数-2147483648+2147483647&, l9+
ULONG32无符号整数0+4294967295ul9+
INTEGER32/64 [*]有符号整数[*]32位: -2147483648, 64位: -9223372036854775808[*]32位: +2147483647, 64位: +9223372036854775807%[*]
UINTEGER32/64 [*]无符号整数0[*]32位: +4294967295, 64位: +18446744073709551615u[*]
LONGINT64有符号整数-9223372036854775808+9223372036854775807ll18+
ULONGINT64无符号整数0+18446744073709551615ull19+
SINGLE32浮点数[**]+/-1.401 298 E-45[**]+/-3.402 823 E+38!, f6+
DOUBLE64浮点数[**]+/-4.940 656 458 412 465 E-324[**]+/-1.797 693 134 862 316 E+308#, d15+
enums32/64 [*]有符号整数[*]32位: -2147483648, 64位: -9223372036854775808[*]32位: +2147483647, 64位: +9223372036854775807[*]
  • [*] IntegerUInteger 数据类型随平台变化,与指针大小相匹配。
  • [**] 浮点类型 SingleDouble 的最小值和最大值分别是最接近零的值和最接近正负无穷大的值。

字符串类型

类型字符大小(字节)最小大小(字符数)最大大小(字符数,含终止填充)字面量后缀
String10[**]32位: +2147483647, 64位: +9223372036854775807$
String*N11[,*]+2147483647$
Zstring*N11[,*]+2147483647[N/A]
Wstring*N[*][*]1[,,]+2147483647[N/A]
  • [*] Unicode 或"宽"字符的大小和可用性随平台而变化。
  • [**] 所有运行时库字符串过程的大小和位置使用 Integer 值。实际最大大小会因存储位置和/或平台而有所不同(更小)。
  • [***] 在 fbc 1.20.0 版本之前,固定长度字符串与可变字符串具有相同的最大大小限制。

布尔类型

类型内部位数
Boolean1 位宽的数据(在一个 Byte 中)'False' 或 'True'

数组

平台最大下标范围每个维度的最大元素数最小/最大维度数最大大小(字节)
32位[*][-2147483648, +2147483647][*]+21474836471/8[*]+2147483647
64位[*][-9223372036854775808, +9223372036854775807][*]+92233720368547758071/8[*]+9223372036854775807
  • [*] 所有运行时库数组过程的下标和索引使用 Integer 值。实际限制会因维度数、元素大小、存储位置和/或平台而有所不同(更小)。

UDT(用户定义类型)

平台最大大小(字节)
32位[*]+2147483647
64位[*]+2147483647
  • [*] 实际最大大小会因存储位置和/或平台而有所不同(更小)。

参见

变量后缀的用法

字面量/数字后缀的用法

返回目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系