すべての倍数は有理数([Infinity、-Infinity、NaN]の特別な値を除く)ですか?すべての二重の価値は合理的ですか?
- 仮数は分子することができ、小数点、として表すことができる値を持っている:私は、次のロジックに基づいて、そう言って傾いています。
- 指数を分母に変換することができ、結果は必要に応じて拡大縮小できます。
この論理は正しいですか?そうでない場合、何が問題なのですか。二重値が非合理的であることを証明する反例がありますか?
すべての倍数は有理数([Infinity、-Infinity、NaN]の特別な値を除く)ですか?すべての二重の価値は合理的ですか?
この論理は正しいですか?そうでない場合、何が問題なのですか。二重値が非合理的であることを証明する反例がありますか?
このロジックは正しいと思われます。
コンピュータは、有理数が無限の桁数で構成されているため、メモリの有理数(double
形式の場合)のみを表すことができます。
考えてみると、合理的であるかどうかを定義する関数の実行可能コードを格納することができますが、これはすべての非合理的な点では機能しません。さらに重要なのは、double
の仕組みではありません。 。
特別な値はそうは思いません。無限は実際には数字ではないので、私はそれを合理的または非合理的と定義するのが難しいと感じます。 NaN(これは定義上、数字ではない)と同じです。
2倍のIEEE 754は2倍の正当性があります。あなたは
x = s * m * b^e
s
を持っているIEEE 754で
はb
は、ベース2、e
は指数である、m
は仮数部で、サインです。
s
,m
,b
およびe
は整数であるため、x
は合理的でなければなりません。
はい、すべての倍数は有理数です。 –
これは本当のことではありませんが、少なくともJavaで定義されているような 'double'は有限であるため、なぜ有理数で表すことができないのでしょうか。 '1/3 = 0.33333333 = 33333333/100000000'?単に私たちが有限数のビットについて話しているからです。あなたはπのような非合理なものを表現するための変更はありません。 – displayname
@ Samamどのような 'Double.NaN' ?? – progyammer