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?

Susan Sarandon
Lepaskan: 2024-12-08 01:39:11
asal
916 orang telah melayarinya

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

Digit Penting dalam Java: Terapung vs. Beregu

Di Java, seperti banyak bahasa pengaturcaraan, nombor titik terapung diwakili menggunakan ketepatan yang berbeza : terapung dan berganda. Memahami bilangan digit bererti dalam jenis ini adalah penting untuk operasi berangka yang tepat.

Perwakilan Bit

Apungan menduduki 32 bit, manakala berganda menduduki 64 bit. Walau bagaimanapun, tidak semua bit menyumbang kepada digit bererti nombor itu.

Apung

  • 23 bit untuk mantissa (atau significand)
  • 8 bit untuk eksponen
  • 1 bit untuk tanda

Double

  • 52 bit untuk mantissa
  • 11 bit untuk eksponen
  • 1 bit untuk tanda

Ketara Digit

Mantissa mewakili bahagian pecahan nombor. Oleh kerana perwakilan binari digunakan, satu bit secara tersirat diandaikan untuk nombor bukan sifar. Oleh itu, bilangan digit perpuluhan bererti ialah:

  • Apung: 23 1 = 24 digit
  • Berganda: 52 1 = 53 digit

Aritmetik Titik Terapung

Berlaku kepada perwakilan binari dan bilangan terhingga bit yang tersedia, aritmetik titik terapung boleh memperkenalkan ralat pusingan. Ini amat ketara apabila berurusan dengan pecahan yang tidak boleh diwakili dengan tepat dalam binari. Sebagai contoh, 0.1 dalam perpuluhan tidak boleh diwakili dalam binari dan disimpan sebagai anggaran.

Pertimbangan Praktikal

Manakala nombor teori bagi digit bererti ialah 24 untuk apungan dan 53 untuk dua kali ganda, pertimbangan praktikal mengehadkan nombor sebenar kepada 6-7 digit perpuluhan untuk apungan dan 15-16 perpuluhan digit untuk dua kali ganda. Ini kerana ralat pembundaran terkumpul dalam operasi seperti penambahan dan penolakan.

Kesimpulan

Memahami bilangan digit bererti dalam jenis data apungan dan berganda adalah penting untuk memilih yang sesuai jenis untuk aplikasi berangka tertentu. Untuk situasi yang memerlukan ketepatan melampau, menggunakan jenis integer (int, panjang) atau kelas khusus seperti BigInteger dan BigDecimal adalah disyorkan.

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