たとえば、float 型 2.0000000000 を int に変換すると、基になるストレージは 1.999999999999999 になります。精度制限があるため、この数値を int に変換すると 1 になると思います (小数部分は破棄されます)。 ) しかし、いくつかの言語をテストした後も、それらは依然として正しいです (php、java、go、js) php: js:
java:
2.0は浮動小数点数で正確に表現できます
2.0
小数は 1.999999... ではなく科学表記法で保存され、直接型に変換されるのではなく、強制転送中に処理されます
一般的に、int->float など、低精度を高精度に変換すると、高精度を低精度に変換すると精度が失われ、データ結果が非常に驚くべきものになる可能性があります。
古典的な例をいくつか
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
実際にあなたの考え通りに機能するのであれば、この言語を設計した人は間違いなくそれを考慮するでしょう。
このプログラミング パネルをどこからダウンロードしたか聞いてもいいですか?良さそうですね
。2.0
は浮動小数点数で正確に表現できます小数は 1.999999... ではなく科学表記法で保存され、直接型に変換されるのではなく、強制転送中に処理されます
一般的に、int->float など、低精度を高精度に変換すると、高精度を低精度に変換すると精度が失われ、データ結果が非常に驚くべきものになる可能性があります。
古典的な例をいくつか
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
実際にあなたの考え通りに機能するのであれば、この言語を設計した人は間違いなくそれを考慮するでしょう。
詳細を理解するには特定の組み立て原則が必要なので、あまり夢中になりすぎないようにしてくださいこのプログラミング パネルをどこからダウンロードしたか聞いてもいいですか?良さそうですね