で宣言された型は、 ordigits
と同様に浮動小数点型です。Float
Long_Float
これ6
は、「浮動小数点型に必要な有効 10 進数の最小桁数」です。たとえば、次のすべては合理的に正確に表現されます (ただし、正確ではありません)。
type My_Real is digits 6;
X: My_Real := 1.23456;
Y: My_Real := 12345.6;
Z: My_Real := 1.23456E7;
実際には、通常、特定のシステムには 2 つまたは 3 つの基になる浮動小数点型しかありません。コンパイラは、宣言の基になる型として適切なものを選択します。実際には、 と で宣言された 2 つの型は、digits 2
おそらくdigits 6
まったく同じ表現と精度を持ちます。
「正確ではない」というフレーズを理解するには、単一の質問の範囲をはるかに超える浮動小数点の理解が必要ですが、他の言語の浮動小数点に精通している場合、それは同じ一般的な考え方です。
浮動小数点とは何か、またどのように機能するかについての一般的な理解が必要な場合は、ウィキペディアの記事は悪くありません。より高度な処理は、David Goldberg の古典的な論文「What Every Computer Scientist Should Know About Floating-Point Arithmetic」で、Web ページとしてここと PDF としてここから入手できます。