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

Berapa Banyak Digit Ketara yang Ditawarkan Jenis Data `float` dan `double` Java?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 09:51:29437semak imbas

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

Cara Menentukan Ketepatan Jenis Data Terapung dan Berganda dalam Java

Pengenalan

Apabila bekerja dengan nombor titik terapung dalam pengaturcaraan komputer, memahami bilangan digit bererti yang boleh diwakilinya adalah penting. Di Java, jenis data float dan double biasanya digunakan untuk pengiraan titik terapung, tetapi ketepatannya boleh mengelirukan.

Bilangan Digit Perduaan

Seperti yang dinyatakan dalam soalan, a float mempunyai 32 digit binari (bit) dan double mempunyai 64 digit binari. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tidak semua bit ini menyumbang kepada ketepatan nombor.

Digit Ketara

Dalam perwakilan titik terapung, digit bererti merujuk kepada digit yang menentukan ketepatan nombor itu. Untuk float, 23 bit dikhaskan untuk mantissa, yang mewakili digit bererti nombor itu. Ini bersamaan dengan kira-kira 7 digit perpuluhan.

Untuk berganda, 52 bit digunakan untuk mantissa, memberikan kira-kira 16 digit perpuluhan ketepatan.

Lokasi daripada Titik Perpuluhan

Titik perpuluhan dalam nombor titik terapung ialah tidak disimpan secara eksplisit. Sebaliknya, ia ditentukan secara tersirat oleh eksponen. Ini bermakna bit yang digunakan untuk mewakili eksponen tidak menyumbang secara langsung kepada ketepatan nombor.

Bit Tersirat

Kedua-duanya terapung dan double gunakan helah dengan mengandaikan satu bit dalam mantissa secara tersirat 1 untuk nombor bukan sifar. Ini secara berkesan meningkatkan kejituan sebanyak satu bit.

Penukaran Tidak Tepat

Memandangkan nombor titik terapung diwakili dalam perduaan, penukaran kepada nombor perpuluhan selalunya tidak tepat. Akibatnya, nombor seperti 0.1 mungkin tidak disimpan dengan tepat.

Kesimpulan

Apabila ia datang untuk menyimpan nilai kewangan yang tepat atau nombor yang memerlukan ketepatan tinggi, pertimbangkan untuk menggunakan int, panjang, BigInteger atau BigDecimal jenis data dan bukannya terapung atau double.

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

Kenyataan:
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