私はfortran90の初心者です(30分前...)、このプログラムがあります:
program example1
implicit none
real (kind=8) :: x,y,z
x = 3.d0
y = 2.d-1
z = x + y
print *, "y = ", y
print *, "x = ", x
print *, "z = ", z
end program example1
しかし、私がそれを実行すると:
gfortran example1.f90
./a.out
出力は次のとおりです。
y = 0.20000000000000001
x = 3.0000000000000000
z = 3.2000000000000002
なぜ3.2000000000000000ではないのですか??? 私が間違っていることは何ですか?y の最後の桁が 1 なのはなぜですか?? そして、なぜzの最後の桁に2があるのですか?? ばかげた質問で申し訳ありませんが、何が間違っているのかわかりません...
ありがとう!!