会产生错误。你可以去掉开头的圆括号解决这个问题 type
Scale = 2 * (X - Y)..(X + Y) * 2;
Real types(实数类型)
实数类型定义了一类可以用浮点表示的数字。下表给出了基本实数类型的范围和存储格式: 类型 Real48 Single Double Extended Comp Currency
范围
2.9 x 10^-39 .. 1.7 x 10^38 1.5 x 10^-45 .. 3.4 x 10^38 5.0 x 10^-324 .. 1.7 x 10^308 3.6 x 10^-4951 .. 1.1 x 10^4932 -2^63+1 .. 2^63-1
-922337203685477.5808.. 922337203685477.5807
有效位数 11-12 7-8 15-16 19-20 19-20 19-20
字节大小 6 4 8 10 8 8
一般实数类型为Real,在当前实现中,它相当于Double。
注意:在Object Pascal的早期版本中,Real相当于6字节的Real48,若要重新编译以前的代码,你可能要把它改为Real48;你也可以使用{$REALCOMPATIBILITY ON}编译器指示字把Real类型转回到原先类型。
以下备注适用于基本实数类型:
? 保留Real48是为了向后兼容性。因为它的存储格式在Intel CPU下不能优化,这将导致比其它浮点
- 49 -
Data types, variables and constants
类型运行稍慢。
Extended类型比其它实数类型有更高的精度,但不够轻巧。当使用Extended类型创建的文件要跨平台共享时,务必小心。
Comp(computational)类型对Intel CPU是优化的,表示为64位整数,但它被分类位实数类型,因为它的行为不像有序类型(比如,你不能递增和递减)。保留此类型只是为了向后兼容性,使用Int64可获得更好的性能。
Currency类型有固定的小数点,可以把在货币运算中出现的错误减到最少。It is stored as a scaled 64-bit integer with the four least significant digits implicitly representing decimal places. 当在赋值语句和表达式中与其它实数类型混合使用时,它的值会自动除以或乘上10000。 ? ? ?
String types(字符串类型)
About string types(关于字符串类型)
字符串表示一个字符序列。Object Pascal支持以下种类的内置字符串:
类型
ShortString
AnsiString
WideString 最大长度 所需内存(字节) 用于 向后兼容 8位(ANSI)字符 Unicode字符
multi-user servers and multi-language applications 255 个字符- 256 ~2^31 个字符- 2GB ~2^30 个字符- 2GB
AnsiString,有时称为长字符串,在大多数情况下是首选类型。
在赋值语句和表达式中,字符串类型可以混合使用,编译器自动进行所需的转换。但对于过程或函数,当使用引用方式传递字符串时,类型必须正确。字符串可明确地被转换为其它类型的字符串。 关键字string用起来就像一个一般类型名,例如
var S: string;
声明一个变量S,它保存字符串类型。在默认的{$H+}状态下,编译器把string(当它的后面没有包含数字的中括号时)解释为AnsiString;使用{$H-}指示字把它解释为ShortString。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-32.html
让爱传递下去