Javaの浮動小数点定数とは何ですか

WBOY
リリース: 2024-01-13 19:51:31
転載
1029 人が閲覧しました

Javaの浮動小数点定数とは何ですか

Java 浮動小数点定数とは

浮動小数点データ型は、小数部分を含む実数を表します。現実世界のデータは複雑であり、実数をサポートするデータ型が必要です。

1. 浮動小数点定数 Java の実定数には 2 つの表現形式があります。1 つは数値と小数点で構成される 10 進数形式で、0.123、.123、123.、123.0 などの小数点が必要です。 2. 科学表記形式。例: 123e3 または 123E3。e または E の前に数値が必要で、e または E の後の指数は整数である必要があります。実定数はマシン内で 64 ビットを占有し、倍精度の値を持ちます。 float 型の値の場合、12.3F のように数値の後に f または F を追加する必要があります。これはマシン内で 32 ビットを占有し、表現精度が低くなります。

浮動小数点変数には、float と double の 2 つのタイプがあります。 Float は 32 ビットを占有し、値の範囲は 3.4e-038 ~ 3.4e 038 ですが、Double は 64 ビットを占有し、値の範囲は 1.7e-308 ~ 1.7e 308 です。 double 型は float 型に比べて精度が高く、表現範囲が広いため、科学技術計算など高い精度が要求されるシナリオでよく使用されます。

Java では、float と double を使用して浮動小数点変数を定義できます。例えば: float f; // 変数 f を float 型で指定 double d; // 変数 d を double 型として指定します C や C とは異なり、Java には符号なし整数型がなく、整数および浮動小数点データが占有するメモリ バイト数を指定します。この規定により、Java プログラムのセキュリティ、堅牢性、およびプラットフォームからの独立性が保証されます。これは、さまざまな Java 実装が整数および浮動小数点データを処理する際に一貫した動作を行い、実行されているプラ​​ットフォームに関係なく結果が予測可能であることを意味します。

Java浮動小数点計算問題

ビット演算は通常、ハードウェア制御で使用されますが、式自体では具体的な意味を決定できず、実際のシナリオと組み合わせる必要があります。

& は「ビットごとの AND」と呼ばれ、その規則は次のとおりです: 0&0=0 1&0=0 0&1=0 1&1=1

「|」は「ビットごとの OR」と呼ばれ、演算規則は次のとおりです。 0|0=0 1|0=1 0|1=1 1|1=1

0x7fffff は 32 ビット バイナリで 0000 0000 0111 1111 1111 1111 1111 1111

と表現されます。

ビットごとの AND 演算ルールに従って、ビットの上位 9 ビットはゼロにクリアされます。

0x800000 は、32 ビット バイナリで 0000 0000 1000 0000 0000 0000 0000 0000

と表現されます。

ビットごとの OR アルゴリズムに従って、24 番目のビットは 1 に設定されます。

大局的に言うと、((bits & 0x7fffff)|0x800000) は、最初にビットの上位 9 ビットをクリアし、次に 24 番目のビットを 1 に設定することを意味します。

前半については、「

疑問符については、説明する必要はありませんね。

浮動小数点型に関する JAVA の質問

浮動小数点数では演算後にエラーが発生しますが、これは正常です。

ダブル a=2.00-1.10;

ダブル b=0.90;

System.out.print(a==b);

結果は false になります

したがって、浮動小数点数が等しいかどうかを判断するときに、ある方法が使用されることがあります。つまり、

public static boolean isEqual(double a,double b){

最後のダブルイプシロン=0.00000001;

return Math.abs(a-b)

}

要約すると、浮動小数点数の処理後にエラーが発生します。0.7799999713897705 は float を double に変換することによって発生するエラーで、0.78 は float の通常の動作です。

以上がJavaの浮動小数点定数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:docexcel.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!