Rumah > Java > javaTutorial > Berapa Banyak Digit Ketara yang Sebenarnya Ada pada Jenis Data `float` dan `double` Java?

Berapa Banyak Digit Ketara yang Sebenarnya Ada pada Jenis Data `float` dan `double` Java?

Barbara Streisand
Lepaskan: 2024-12-07 19:17:14
asal
590 orang telah melayarinya

How Many Significant Digits Do Java's `float` and `double` Data Types Actually Have?

Digit Ketara dalam Nombor Titik Terapung dan Ketepatan Berganda di Jawa

Titik terapung (terapung) dan ketepatan dua kali (berganda) Java ) jenis data mewakili nombor nyata menggunakan perwakilan binari. Memahami hubungan antara digit perduaan dan digit bererti adalah penting untuk aplikasi sensitif ketepatan.

Digit Perduaan (Bit) dalam Terapung dan Berganda

Soalan ini menyerlahkan beberapa kunci aspek:

  • Adakah apungan mempunyai 32 digit perduaan dan melakukan dua kali ganda mempunyai 64?
  • Adakah semua bit mewakili digit bererti, atau adakah titik perpuluhan mempengaruhi ini?

Apungan dan Peruntukan Bit Berganda

  • Apung: 32 bit (4 bait), diperuntukkan sebagai berikut:

    • 23 bit: Mantissa
    • 8 bit: Eksponen
    • 1 bit: Tanda
  • Berganda: 64 bit (8 bait), diperuntukkan sebagai berikut:

    • 52 bit: Mantissa
    • 11 bit: Eksponen
    • 1 bit: Tanda

Digit Ketara

The mantissa memegang pecahan nombor titik terapung. Bilangan digit bererti dalam mantissa ialah:

  • Apung: 23 bit, bersamaan dengan lebih kurang 7 digit perpuluhan
  • Berganda: 52 bit, bersamaan dengan lebih kurang 16 digit perpuluhan

Titik Perpuluhan Lokasi

Bilangan digit bererti tidak menentukan lokasi titik perpuluhan. Eksponen mengawal peletakan titik perpuluhan dalam perwakilan binari.

Terutama Tersirat 1

Untuk mencapai ketepatan yang lebih tinggi tanpa meningkatkan saiz mantissa , kedua-dua terapung dan berganda menggunakan petunjuk tersirat 1 dalam mantissa. Ini bermakna bilangan sebenar digit bererti dalam mantissa adalah kurang satu digit daripada bilangan bit yang diperuntukkan untuknya (iaitu, 22 digit bererti untuk apungan dan 51 untuk berganda).

Tidak Tepat Penukaran Perpuluhan

Disebabkan sifat binari bagi perwakilan titik terapung, tidak semua nombor perpuluhan boleh diwakili dengan tepat. Ini boleh membawa kepada sedikit ketidaktepatan dalam pengiraan, terutamanya apabila berurusan dengan nombor yang sangat kecil atau sangat besar.

Pertimbangan Ketepatan

Untuk aplikasi yang memerlukan penyimpanan nilai kewangan yang tepat (cth., sen), menggunakan jenis integer seperti int atau long, atau kelas khusus seperti BigInteger atau BigDecimal, disyorkan dan bukannya float atau double.

Atas ialah kandungan terperinci Berapa Banyak Digit Ketara yang Sebenarnya Ada pada Jenis Data `float` dan `double` Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan