我对Ada很新,并试图看看它是否提供双精度类型。我看到我们有浮动和
Put( Integer'Image( Float'digits ) );
我的机器上的给出的值为6,这对于数值计算是不够的。
Ada是否有双重和长双重类型,如C?
非常感谢...
答案 0 :(得分:7)
比这更复杂。
编译器必须支持的唯一预定义浮点类型是Float
。编译器可以选择支持Short_Float
和Long_Float
。您应该能够查看编译器文档的appendex F以查看它支持的内容。
实际上,您的编译器几乎将Float
定义为32位IEEE浮点数,将Long_Float
定义为64位。请注意,C使用float
和double
也可以这样做。 C实际上并没有定义那些的大小。
如果您绝对必须具有certian精度(例如:您正在与必须使用IEEE 64位的外部资源共享数据),那么您应该定义自己的浮点类型精确。这将确保您的代码可移植到您移动到的任何平台或编译器,或者它将产生编译器错误,以便您可以解决问题。
答案 1 :(得分:6)