Carta Perbandingan:
Asas untuk Perbandingan | Terapung | Double |
---|---|---|
Ketepatan | Ketepatan tunggal. | Ketepatan ganda. |
Bit | 32 bit. | 64 bit. |
Bytes | 4 bait. | 8 bait. |
Julat Anggaran | 1.4e-045 hingga 3.4e + 038 | 4.9e-324 hingga 1.8e + 308 |
Perwakilan Bit | 1 bit mewakili sedikit tanda. 8 bit mewakili eksponen. 23 bit mewakili mantissa. | 1 bit mewakili sedikit tanda. 11 bit mewakili eksponen. 52 bit mewakili mantissa. |
Ketepatan | Kurang akurat. | Lebih tepat. |
Definisi Float
Float datatype adalah salah satu jenis Floating-point. Float datatype mempunyai penyimpanan 32-bit (yang sama dengan 4 bait) untuk pemboleh ubah jenis terapung. Pelbagai jenis data menentukan ketepatan tunggal. Perwakilan 32 bit di apungan boleh dijelaskan sebagai 1 bit diwakili sebagai bit tanda, 8 bit diwakili sebagai eksponen, dan 23 bit diwakili sebagai mantissa. Julat maksimum jenis apungan ialah 1.4e-045 hingga 3.4e + 038. Apabila dibandingkan dengan jenis terapung jenis terapung berganda tidak tepat manakala pengiraan matematik. Marilah kita memahami float menggunakan contoh.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // output 8.00060
Seperti dalam kod di atas, anda boleh melihat bahawa pemboleh ubah float num1 diberikan nilai yang merupakan fungsi sqrt (), yang mengembalikan akar kuadrat nilai yang diserahkan kepada fungsi ini. Anda boleh memerhatikan bahawa apabila nilai dalam num1 dicetak, ia hampir menjangkau nilai tepat, tetapi tidak tepat. Marilah kita lihat contoh di bawah apabila program yang sama dilaksanakan dengan menggunakan dua jenis data.
Definisi Double
Double adalah jenis datatype terapung kedua. Dua jenis data mempunyai penyimpanan 64-bit (yang bersamaan dengan 8 bait) untuk pemboleh ubah jenis berganda. Ia menentukan ketepatan ganda kerana saiznya hanya dua kali ganda dari float. Perwakilan 64 bit jenis double boleh dijelaskan sebagai 1 bit mewakili sedikit tanda, 11 bit mewakili eksponen, dan baki 52 bit mewakili mantissa. Antara jenis data terapung dan berganda yang paling biasa digunakan ialah dua kali ganda. Jenis double digunakan semasa pengiraan matematik, dan apabila terdapat ketepatan yang diperlukan sempurna. Fungsi matematik sin (), cos (), dan sqrt () sentiasa mengembalikan nilai berganda. Marilah kita memahami ketepatan data dua kali dengan contoh.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // output 8.0143621
Anda boleh melihat bahawa output yang diperolehi dalam contoh, menjelaskan float adalah berbeza daripada output yang diperolehi dalam contoh, menjelaskan double. Oleh itu, dari sini, kita boleh mengatakan bahawa hasil yang diperoleh daripada ganda adalah lebih tepat berbanding dengan terapung.
Perbezaan Utama Antara Terapung dan Ganda
- Float datatype menentukan ketepatan tunggal yang bermaksud jika dibandingkan dengan double ia mempunyai ketepatan yang kurang sedangkan, double menyatakan ketepatan ganda kerana hanya dua kali float kesalahannya diabaikan berbanding float.
- Variabel jenis apungan mempunyai penyimpanan sebanyak 32 bit manakala satu jenis pemboleh ubah mempunyai penyimpanan sebanyak 64 bit yang mengkompilasikan bahawa ganda adalah lebih tinggi dalam simpanan berbanding dengan terapung.
- Nilai di apungan boleh berkisar antara 1.4e-045 hingga 3.4e + 038 sedangkan, nilai jenis double boleh berkisar dari 4.9e-324 hingga 1.8e + 308.
- Perwakilan bit dari nilai apungan menyerupai 1 bit float digunakan untuk menyanyi sedikit, 8 bit untuk eksponen dan 23 bit untuk menyimpan mantissa. Sebaliknya, nilai berganda menyerupai 1 bit digunakan untuk menyanyi, 11 bit untuk eksponen dan 52 bit untuk menyimpan mantissa.
- Apabila dibandingkan dengan float berganda kurang tepat maka manakala pengiraan matematik berganda digunakan.
Kesimpulan:
Nah, anda mesti menggunakan dua kali ganda kerana ia memberikan ketepatan yang merupakan moto utamanya sepanjang zaman.