Memanipulasi bilangan titik integral dan floating di C#
Tutorial ini mengajarkan Anda tentang jenis numerik di C # secara interaktif, menggunakan browser Anda. Tulis kode C# kemudian lihat hasil kompilasi dan eksekusinya. Panduan ini berisi rangkaian materi yang mempelajari tentang operasi angka dan matematika dalam C#. Materi ini memberikan Anda pengetahuan dasar tentang bahasa C#.
Tip
Untuk menempelkan cuplikan kode di dalam mode fokus, Anda harus menggunakan pintasan keyboard (Ctrl + v, atau cmd + v).
Mempelajari matematika dengan integer
Eksekusi kode berikut dalam jendela interaktif. Pilih tombol Masuk ke mode fokus. Kemudian, ketik blok kode berikut di jendela interaktif dan pilih Jalankan:
int a = 18;
int b = 6;
int c = a + b;
Console.WriteLine(c);
Jika Anda bekerja pada lingkungan Anda, Anda harus mengikuti instruksi untuk versi lokal sebagai gantinya.
Anda baru saja melihat salah satu operasi matematika dasar menggunakan integer. Jenis int
mewakili satu integer, yang bisa berupa bilangan bulat positif atau negatif. Anda menggunakan simbol +
untuk penambahan. Operasi matematika umum lainnya untuk integer meliputi:
-
untuk pengurangan*
untuk perkalian/
untuk pembagian
Tip
Dalam panduan mulai cepat ini, Anda bisa mencari tahu sendiri dengan memodifikasi kode yang telah Anda tulis di jendela interaktif. Panduan mulai cepat ini memberikan contoh yang bisa Anda coba di setiap langkah.
Mulailah dengan mempelajari berbagai operasi tersebut. Ubah baris ketiga untuk mencoba setiap operasi ini. Setelah setiap pengeditan, klik tombol Jalankan.
Pengurangan:
int c = a - b;
Perkalian:
int c = a * b;
Pembagian:
int c = a / b;
Jika ingin, Anda juga bisa bereksperimen dengan melakukan beberapa operasi matematika di baris yang sama.
Tip
Saat mempelajari C# (atau bahasa pemrogram apa pun), Anda sangat mungkin membuat kesalahan saat menuliskan kode. Kompilator akan mencari kesalahan dan melaporkannya kepada Anda. Jika output berisi pesan kesalahan, perhatikan kode contoh dan kode dalam jendela interaktif dengan cermat untuk mengetahui hal yang harus diperbaiki. Latihan ini akan membantu Anda mempelajari struktur kode C#.
Mempelajari urutan operasi
Bahasa C# mendefinisikan prioritas operasi matematika yang berbeda dengan aturan yang konsisten dengan aturan yang telah Anda pelajari dalam matematika. Perkalian dan pembagian didahulukan daripada penambahan dan pengurangan. Pelajari konsep tersebut dengan mengeksekusi kode berikut di jendela interaktif:
int a = 5;
int b = 4;
int c = 2;
int d = a + b * c;
Console.WriteLine(d);
Output menunjukkan bahwa perkalian dilakukan sebelum penambahan.
Anda tetap dapat melakukan operasi dengan urutan yang berbeda dengan menambahkan tanda kurung di sekitar operasi atau operasi yang ingin Anda lakukan pertama kali:
int a = 5;
int b = 4;
int c = 2;
int d = (a + b) * c;
Console.WriteLine(d);
Pelajari lebih banyak dengan menggabungkan berbagai operasi yang berbeda. Ganti baris keempat di atas dengan sesuatu seperti ini:
int d = (a + b) - 6 * c + (12 * 4) / 3 + 12;
Anda mungkin melihat perilaku yang menarik dari integer. Pembagian integer selalu menghasilkan hasil integer, meskipun jika Anda mengharapkan hasil yang menyertakan bagian desimal atau pecahan.
Jika Anda belum melihat perilaku tersebut, cobalah cara berikut:
int a = 7;
int b = 4;
int c = 3;
int d = (a + b) / c;
Console.WriteLine(d);
Pilih Jalankan lagi untuk melihat hasilnya.
Mempelajari ketepatan dan batas integer
Sampel terakhir menunjukkan kepada Anda bahwa pembagian integer memotong hasil.
Anda bisa mendapatkan sisa menggunakan operator modulo, dengan karakter %
:
int a = 7;
int b = 4;
int c = 3;
int d = (a + b) / c;
int e = (a + b) % c;
Console.WriteLine($"quotient: {d}");
Console.WriteLine($"remainder: {e}");
Jenis integer C# berbeda dari integer matematika dalam cara apa pun: jenis int
memiliki batas minimum dan maksimum. Eksekusikan kode ini di jendela interaktif untuk melihat batas tersebut:
int max = int.MaxValue;
int min = int.MinValue;
Console.WriteLine($"The range of integers is {min} to {max}");
Jika penghitungan menghasilkan nilai yang melebihi batas tersebut, Anda memiliki kondisi underflow atau overflow. Jawabannya muncul untuk melingkupi dari satu batas ke yang lain. Tambahkan dua baris berikut ke jendela interaktif untuk melihat contoh:
int what = max + 3;
Console.WriteLine($"An example of overflow: {what}");
Perhatikan bahwa jawabannya sangat dekat dengan integer minimum (negatif), yaitu sama dengan min + 2
.
Operasi penambahan melebihi batas nilai yang diizinkan untuk integer.
Jawabannya adalah bilangan negatif yang sangat besar karena overflow “melingkupi” dari nilai integer terbesar yang mungkin ke yang terkecil.
Terdapat jenis numerik lain dengan batas dan ketepatan berbeda yang akan Anda gunakan jika jenis int
tidak memenuhi kebutuhan Anda. Mari kita jelajahi jenis angka-angka berikutnya.
Menggunakan jenis ganda
Jenis numerik double
mewakili angka poin mengambang presisi ganda. Istilah tersebut mungkin baru bagi Anda. Angka poin mengambang berguna untuk mewakili bilangan integral yang mungkin ukurannya sangat besar atau kecil. Presisi ganda adalah istilah relatif yang menjelaskan jumlah digit biner yang digunakan untuk menyimpan nilai. Angka presisi ganda memiliki dua kali jumlah digit biner dibandingkan presisi tunggal. Pada komputer modern, presisi ganda lebih umum digunakan daripada angka presisi tunggal. Angka presisi tunggal dinyatakan menggunakan kata kunci float
.
Mari pelajari hal tersebut. Coba kode berikut dalam jendela interaktif dan lihat hasilnya:
double a = 5;
double b = 4;
double c = 2;
double d = (a + b) / c;
Console.WriteLine(d);
Perlu diketahui bahwa jawabannya termasuk bagian desimal dari hasil bagi. Coba ekspresi yang sedikit lebih rumit dengan double:
double a = 19;
double b = 23;
double c = 8;
double d = (a + b) / c;
Console.WriteLine(d);
Rentang nilai ganda jauh lebih besar dari nilai integer. Coba kode berikut dalam jendela interaktif:
double max = double.MaxValue;
double min = double.MinValue;
Console.WriteLine($"The range of double is {min} to {max}");
Nilai-nilai tersebut ditampilkan dalam notasi ilmiah. Angka di sebelah kiri E
adalah significand. Angka di sebelah kanan adalah eksponen, dengan pangkat 10.
Sama seperti angka desimal dalam matematika, double dalam C# dapat memiliki kesalahan pembulatan. Coba kode ini:
double third = 1.0 / 3.0;
Console.WriteLine(third);
Anda mengetahui bahwa 0.3
adalah 3/10
dan tidak persis sama dengan 1/3
. Demikian pula, 0.33
adalah 33/100
. Itu lebih dekat ke 1/3
, tetapi masih belum tepat.
Latihan
Coba penghitungan lain dengan angka besar, angka kecil, perkalian, dan pembagian menggunakan jenis double
. Coba penghitungan yang lebih rumit.
Bekerja dengan jenis desimal
Anda telah melihat tipe numerik dasar dalam C#: integer dan double. Ada satu jenis lain untuk dipelajari, yaitu jenis decimal
. Jenis decimal
memiliki rentang yang lebih kecil tetapi dengan presisi yang lebih tinggi daripada double
. Perhatikan:
decimal min = decimal.MinValue;
decimal max = decimal.MaxValue;
Console.WriteLine($"The range of the decimal type is {min} to {max}");
Anda bisa lihat bahwa rentangnya lebih kecil dari jenis double
. Anda akan mendapatkan presisi yang lebih tinggi dengan jenis desimal dengan mencoba kode berikut:
double a = 1.0;
double b = 3.0;
Console.WriteLine(a / b);
decimal c = 1.0M;
decimal d = 3.0M;
Console.WriteLine(c / d);
Perhatikan bahwa matematika yang menggunakan jenis desimal memiliki lebih banyak digit di sebelah kanan poin desimal.
Sufiks M
pada angka adalah bagaimana Anda menunjukkan bahwa konstanta harus menggunakan jenis decimal
. Jika tidak, pengompilasi mengasumsikan jenisnya adalah double
.
Catatan
Huruf M
dipilih sebagai huruf yang paling berbeda secara visual antara kata kunci double
dan decimal
.
Latihan
Sekarang Anda telah melihat berbagai jenis numerik, tulis kode yang menghitung luas lingkaran dengan jari-jari 2,50 cm. Ingat bahwa rumus luas lingkaran adalah jari-jari kuadrat dikalikan dengan PI. Petunjuk: .NET berisi konstanta untuk PI, Math.PI yang dapat Anda gunakan untuk nilai itu. Math.PI, seperti semua konstanta yang dideklarasikan dalam namespace layanan System.Math
, adalah nilai double
. Untuk alasan itu, Anda harus menggunakan double
alih-alih nilai decimal
untuk tantangan ini.
Jawaban yang Anda dapat seharusnya antara 19 dan 20.
Selesaikan tantangan
Apakah Anda paham dengan sesuatu semacam ini?
double radius = 2.50;
double area = Math.PI * radius * radius;
Console.WriteLine(area);
Cobalah beberapa rumus lain jika Anda mau.
Selamat!
Anda telah menyelesaikan tutorial interaktif “Angka dalam C#”. Anda bisa memilih tautan Cabang dan Perulangan di bawah ini untuk memulai tutorial interaktif berikutnya, atau Anda bisa mengunjungi situs .NET untuk mengunduh .NET SDK, membuat proyek di komputer Anda, dan terus mengodekan. Bagian "Langkah berikutnya" membawa Anda kembali ke tutorial ini.
Untuk mengetahui lebih banyak tentang angka dalam C#, silakan lihat topik berikut:
Memiliki masalah dengan bagian ini? Jika iya, berikan umpan balik kepada kami agar kami dapat meningkatkan bagian ini.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk