1

次のプログラムは、に対して1を出力し、100E-2に対して0を与えます。100*10**(-2)これは、演算子の指数が負の数に対して機能しないことを意味し**ます。これは正しいことです。前もって感謝します

program testme

implicit none

print*,100E-2

print*,100*10**(-2)

end program
4

1 に答える 1

2

2番目のprintステートメントが出力することに気付くでしょう0-小数点以下のptなどはありません。たとえば、整数ゼロ。これ10は、それ自体が整数リテラルであり、それを負の2乗すると正しくゼロになるためです。これに整数100を掛けても、整数はゼロになります。

代わりに使用する場合

print*,100*10.**(-2)

あなたはあなたが期待する答えを得るでしょう。

100e-2科学的記数法で表現された数値は浮動小数点(real)リテラルであるため、この問題は発生しません。

于 2012-12-14T20:41:34.920 に答える