我正在阅读Norman Cohen的Ada 95书,在第129页我们有不断的声明:
Pi: constant Float := 3.1415926536
和
Pi: constant := 3.1415926536
据说第二个声明被解释为:“任何具有适当范围的定点类型的浮点数”。我的问题是说一个正在使用Long_Float精度,然后例如声明一个常量说2 * PI做一个必须具体声明像
Two_Pi : CONSTANT Long_Float := 2.0 * 3.1415926536
还是好多了:
Two_Pi: CONSTANT Long_Float := 2.0 * Ada.Numerics.Pi;
(利用小数点后多位数的第二个声明)?
会
Two_Pi : CONSTANT := 2.0 * 3.1415926536
或更好
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
与本书声称的一样好,以便Ada编译器知道如果我在Long_Float计算中使用Two_Pi,那么编译器将提供所需的精确数字位数?由于Pi值3.1415926536不是Long_Float类型(因为它具有较少的精确数字),我猜最后一个声明即。
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
如果我在Long_Float计算中需要Two_Pi,那么将是必需的。我理解对吗?有了类似的理解,那么
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
在Float类型计算中也是相关的,编译器只提供所需数量的精度数字。
非常感谢...
答案 0 :(得分:2)