Rumah >Java >javaTutorial >Berapa Banyak Digit Ketara yang Ditawarkan Jenis Data `float` dan `double` Java?
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!