Latihan - Menemukan jenis titik mengambang

Selesai

Dalam latihan ini, Anda bekerja dengan jenis data floating-point untuk mempelajari tentang perbedaan bernuansa antara setiap jenis data.

Titik mengambang adalah jenis nilai sederhana yang mewakili angka di sebelah kanan tempat desimal. Tidak seperti bilangan integral, ada pertimbangan lain di luar nilai maksimum dan minimum yang dapat Anda simpan dalam jenis poin mengambang tertentu.

Mengevaluasi jenis poin mengambang

Pertama, Anda harus mempertimbangkan digit presisi yang diizinkan setiap jenis. Presisi adalah jumlah tempat nilai yang disimpan setelah titik desimal.

Kedua, Anda harus mempertimbangkan cara menyimpan nilai dan dampaknya pada akurasi nilai. Misalnya, float dan double nilai disimpan secara internal dalam format biner (dasar 2), sementara decimal disimpan dalam format desimal (dasar 10). Mengapa hal ini penting?

Melakukan penghitungan matematika pada nilai poin mengambang biner dapat menghasilkan hasil yang mungkin mengejutkan Anda jika Anda terbiasa dengan matematika desimal (dasar 10). Sering kali, penghitungan matematika poin mengambang biner adalah perkiraan dari nilai sebenarnya. Oleh karena itu, float dan double berguna karena jumlah besar dapat disimpan menggunakan jejak memori kecil. Namun, float dan double hanya boleh digunakan ketika perkiraan berguna. Misalnya, menjadi beberapa ribu saat menghitung percikan bola salju dalam permainan video sudah cukup dekat.

Jika Anda membutuhkan jawaban yang lebih tepat, Anda harus menggunakan decimal. Setiap nilai jenis decimal memiliki jejak memori yang relatif besar, tetapi melakukan operasi matematika memberi Anda hasil yang lebih tepat. Jadi, Anda harus menggunakan decimal saat bekerja dengan data keuangan atau skenario apa pun saat Anda membutuhkan hasil perhitungan yang akurat.

Gunakan properti MinValue dan MaxValue untuk setiap jenis float yang ditandatangani

  1. Hapus atau gunakan operator // komentar baris untuk mengomentari semua kode dari latihan sebelumnya.

  2. Untuk melihat rentang nilai untuk berbagai jenis data, perbarui kode Anda di Editor Visual Studio Code sebagai berikut:

Console.WriteLine("");
Console.WriteLine("Floating point types:");
Console.WriteLine($"float  : {float.MinValue} to {float.MaxValue} (with ~6-9 digits of precision)");
Console.WriteLine($"double : {double.MinValue} to {double.MaxValue} (with ~15-17 digits of precision)");
Console.WriteLine($"decimal: {decimal.MinValue} to {decimal.MaxValue} (with 28-29 digits of precision)");
  1. Pada menu File Visual Studio Code, pilih Simpan.

    File Program.cs harus disimpan sebelum membangun atau menjalankan kode.

  2. Di panel EXPLORER, untuk membuka Terminal di lokasi folder TestProject Anda, klik kanan TestProject, lalu pilih Buka di Terminal Terintegrasi.

    Panel Terminal harus terbuka, dan harus menyertakan perintah yang menunjukkan bahwa Terminal terbuka untuk lokasi folder TestProject Anda.

  3. Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.

    Jika Anda melihat pesan yang mengatakan "Tidak dapat menemukan proyek yang akan dijalankan", pastikan bahwa prompt perintah Terminal menampilkan lokasi folder TestProject yang diharapkan. Misalnya: C:\Users\someuser\Desktop\csharpprojects\TestProject>

    Anda akan menemukan output berikut:

    Floating point types:
    float  : -3.402823E+38 to 3.402823E+38 (with ~6-9 digits of precision)
    double : -1.79769313486232E+308 to 1.79769313486232E+308 (with ~15-17 digits of precision)
    decimal: -79228162514264337593543950335 to 79228162514264337593543950335 (with 28-29 digits of precision)
    

Seperti yang Anda lihat, float dan double gunakan notasi yang berbeda dari yang digunakan oleh decimal untuk mewakili nilai terbesar dan terkecil yang mungkin. Tetapi, apa arti notasi ini?

Menguraikan nilai poin mengambang besar

Karena jenis titik mengambang dapat menampung angka besar dengan presisi, nilainya dapat diwakili menggunakan "Notasi E", yang merupakan bentuk notasi ilmiah yang berarti "kali 10 dinaikkan ke kekuatan." Jadi, nilai seperti 5E+2 akan menjadi nilai 500 karena setara dengan 5 * 10^2, atau 5 x 102.

Rekap

  • Jenis poin mengambang adalah tipe data nilai sederhana yang dapat menampung bilangan pecahan.
  • Memilih jenis poin mengambang yang tepat untuk aplikasi Anda mengharuskan Anda mempertimbangkan lebih dari sekadar nilai maksimum dan minimum yang dapat disimpan aplikasi. Anda juga harus mempertimbangkan berapa banyak nilai yang dapat dipertahankan setelah desimal, cara angka disimpan, dan cara penyimpanan internalnya memengaruhi hasil operasi matematika.
  • Nilai poin mengambang terkadang dapat direpresentasikan menggunakan "notasi E" ketika jumlahnya bertambah sangat besar.
  • Ada perbedaan mendasar dalam cara pengompilasi dan runtime menangani decimal dibandingkan dengan float atau double, terutama saat menentukan seberapa banyak akurasi yang diperlukan dari operasi matematika.

Uji pengetahuan Anda

1.

Manakah jenis data terbaik yang digunakan untuk memproses deposito perbankan?