标准数据类型限制
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=TblVarTypes
- 最后更新: 2024-03-08
标准变量类型及其限制。
数值类型
| 类型 | 位数 | 格式 | 最小值 | 最大值 | 字面量后缀 | 有效位数 |
|---|---|---|---|---|---|---|
| BYTE | 8 | 有符号整数 | -128 | +127 | 2+ | |
| UBYTE | 8 | 无符号整数 | 0 | +255 | 2+ | |
| SHORT | 16 | 有符号整数 | -32768 | +32767 | 4+ | |
| USHORT | 16 | 无符号整数 | 0 | 65535 | 4+ | |
| LONG | 32 | 有符号整数 | -2147483648 | +2147483647 | &, l | 9+ |
| ULONG | 32 | 无符号整数 | 0 | +4294967295 | ul | 9+ |
| INTEGER | 32/64 [*] | 有符号整数 | [*]32位: -2147483648, 64位: -9223372036854775808 | [*]32位: +2147483647, 64位: +9223372036854775807 | % | [*] |
| UINTEGER | 32/64 [*] | 无符号整数 | 0 | [*]32位: +4294967295, 64位: +18446744073709551615 | u | [*] |
| LONGINT | 64 | 有符号整数 | -9223372036854775808 | +9223372036854775807 | ll | 18+ |
| ULONGINT | 64 | 无符号整数 | 0 | +18446744073709551615 | ull | 19+ |
| SINGLE | 32 | 浮点数 | [**]+/-1.401 298 E-45 | [**]+/-3.402 823 E+38 | !, f | 6+ |
| DOUBLE | 64 | 浮点数 | [**]+/-4.940 656 458 412 465 E-324 | [**]+/-1.797 693 134 862 316 E+308 | #, d | 15+ |
| enums | 32/64 [*] | 有符号整数 | [*]32位: -2147483648, 64位: -9223372036854775808 | [*]32位: +2147483647, 64位: +9223372036854775807 | [*] |
- [*]
Integer和UInteger数据类型随平台变化,与指针大小相匹配。 - [**] 浮点类型
Single和Double的最小值和最大值分别是最接近零的值和最接近正负无穷大的值。
字符串类型
| 类型 | 字符大小(字节) | 最小大小(字符数) | 最大大小(字符数,含终止填充) | 字面量后缀 |
|---|---|---|---|---|
| String | 1 | 0 | [**]32位: +2147483647, 64位: +9223372036854775807 | $ |
| String*N | 1 | 1 | [,*]+2147483647 | $ |
| Zstring*N | 1 | 1 | [,*]+2147483647 | [N/A] |
| Wstring*N | [*] | [*]1 | [,,]+2147483647 | [N/A] |
- [*] Unicode 或"宽"字符的大小和可用性随平台而变化。
- [**] 所有运行时库字符串过程的大小和位置使用
Integer值。实际最大大小会因存储位置和/或平台而有所不同(更小)。 - [***] 在 fbc 1.20.0 版本之前,固定长度字符串与可变字符串具有相同的最大大小限制。
布尔类型
| 类型 | 内部位数 | 值 |
|---|---|---|
| Boolean | 1 位宽的数据(在一个 Byte 中) | 'False' 或 'True' |
数组
| 平台 | 最大下标范围 | 每个维度的最大元素数 | 最小/最大维度数 | 最大大小(字节) |
|---|---|---|---|---|
| 32位 | [*][-2147483648, +2147483647] | [*]+2147483647 | 1/8 | [*]+2147483647 |
| 64位 | [*][-9223372036854775808, +9223372036854775807] | [*]+9223372036854775807 | 1/8 | [*]+9223372036854775807 |
- [*] 所有运行时库数组过程的下标和索引使用
Integer值。实际限制会因维度数、元素大小、存储位置和/或平台而有所不同(更小)。
UDT(用户定义类型)
| 平台 | 最大大小(字节) |
|---|---|
| 32位 | [*]+2147483647 |
| 64位 | [*]+2147483647 |
- [*] 实际最大大小会因存储位置和/或平台而有所不同(更小)。
参见
返回目录