Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini mengajarkan Anda tentang jenis numerik di C#. Anda menulis kode dalam jumlah kecil, lalu mengkompilasi dan menjalankan kode tersebut. Tutorial ini berisi serangkaian pelajaran yang menjelajahi angka dan operasi matematika di C#. Pelajaran ini mengajarkan Anda dasar-dasar bahasa C#.
Nasihat / Petunjuk
Saat blok cuplikan kode menyertakan tombol "Jalankan", tombol tersebut membuka jendela interaktif, atau mengganti kode yang ada di jendela interaktif. Saat cuplikan tidak menyertakan tombol "Jalankan", Anda dapat menyalin kode dan menambahkannya ke jendela interaktif saat ini.
Menjelajahi matematika bilangan bulat
Jalankan kode berikut di jendela interaktif.
int a = 18;
int b = 6;
int c = a + b;
Console.WriteLine(c);
Kode sebelumnya menunjukkan operasi matematika mendasar dengan bilangan bulat. Jenis int
mewakili bilangan bulat, yaitu bilangan bulat yang positif atau negatif. Anda menggunakan +
simbol untuk penambahan. Operasi matematika umum lainnya untuk bilangan bulat meliputi:
-
-
untuk pengurangan -
*
untuk perkalian -
/
untuk pembagian
Mulailah dengan menjelajahi operasi yang berbeda tersebut. Ubah baris ketiga untuk mencoba masing-masing operasi ini. Misalnya, untuk mencoba pengurangan, ganti +
dengan -
seperti yang ditunjukkan pada baris berikut.
int c = a - b;
Cobalah. Pilih tombol "Jalankan". Kemudian, coba perkalian, *
dan, pembagian, /
. Anda juga dapat bereksperimen dengan menulis beberapa operasi matematika di baris yang sama, jika Anda mau.
Nasihat / Petunjuk
Saat Anda menjelajahi C# (atau bahasa pemrograman apa pun), Anda membuat kesalahan saat menulis kode. Pengkompilasi menemukan kesalahan tersebut dan melaporkannya kepada Anda. Saat output berisi pesan kesalahan, lihat lebih dekat kode contoh, dan kode di jendela interaktif untuk melihat apa yang harus diperbaiki. Latihan itu membantu Anda mempelajari struktur kode C#.
Menjelajahi urutan operasi
Bahasa C# mendefinisikan prioritas operasi matematika yang berbeda dengan aturan yang konsisten dengan aturan yang Anda pelajari dalam matematika. Perkalian dan pembagian lebih diutamakan daripada penambahan dan pengurangan. Jelajahi itu dengan menjalankan 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 dapat memaksa urutan operasi yang berbeda dengan menambahkan tanda kurung di sekitar operasi atau operasi yang ingin Anda lakukan terlebih dahulu. Tambahkan baris berikut ke jendela interaktif:
d = (a + b) * c;
Console.WriteLine(d);
Jelajahi lebih lanjut dengan menggabungkan banyak operasi yang berbeda. Ganti baris keempat dalam kode sebelumnya dengan sesuatu seperti ini:
d = (a + b) - 6 * c + (12 * 4) / 3 + 12;
Console.WriteLine(d);
Anda mungkin melihat perilaku yang menarik untuk bilangan bulat. Pembagian bilangan bulat selalu menghasilkan hasil bilangan bulat, bahkan ketika Anda mengharapkan hasilnya menyertakan bagian desimal atau pecahan.
Coba kode berikut:
int a = 7;
int b = 4;
int c = 3;
int d = (a + b) / c;
Console.WriteLine(d);
Menjelajahi presisi dan batas bilangan bulat
Sampel terakhir menunjukkan kepada Anda bahwa divisi bilangan bulat memotong hasilnya. Anda bisa mendapatkan sisanya dengan menggunakan operator sisa , %
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 bilangan bulat C# berbeda dari bilangan bulat matematika dalam satu hal lain: tipe int
memiliki batas minimum dan maksimum. Coba kode berikut untuk melihat batasan tersebut:
int max = int.MaxValue;
int min = int.MinValue;
Console.WriteLine($"The range of integers is {min} to {max}");
Jika perhitungan menghasilkan nilai yang melebihi batas tersebut, Anda memiliki kondisi underflow atau overflow . Jawabannya tampak membungkus dari satu batas ke batas lainnya. Untuk melihat contoh, tambahkan dua baris ini di jendela interaktif:
int what = max + 3;
Console.WriteLine($"An example of overflow: {what}");
Perhatikan bahwa jawabannya sangat dekat dengan bilangan bulat minimum (negatif). Ini sama dengan min + 2
. Operasi penambahan meluapkan nilai yang diizinkan untuk bilangan bulat. Jawabannya adalah angka negatif besar karena luapan "membungkus" dari nilai bilangan bulat terbesar yang mungkin ke yang terkecil.
Ada jenis numerik lain dengan batas dan presisi berbeda yang akan Anda gunakan ketika int
jenis tidak memenuhi kebutuhan Anda. Mari kita jelajahi jenis angka tersebut berikutnya.
Bekerja dengan jenis ganda
Jenis double
numerik mewakili angka titik mengambang presisi ganda. Istilah-istilah tersebut mungkin baru bagi Anda. Angka titik mengambang berguna untuk mewakili angka nonintegral yang mungkin besar atau kecil dalam besaran.
Presisi ganda adalah istilah relatif yang menjelaskan jumlah digit biner yang digunakan untuk menyimpan nilai.
Bilangan presisi ganda memiliki dua kali lebih banyak digit biner dibandingkan dengan presisi tunggal. Pada komputer modern, lebih umum untuk menggunakan presisi ganda daripada angka presisi tunggal.
Nomor presisi tunggal dideklarasikan menggunakan float
kata kunci. Mari kita jelajahi. Jalankan kode berikut dan lihat hasilnya:
double a = 5;
double b = 4;
double c = 2;
double d = (a + b) / c;
Console.WriteLine(d);
Perhatikan bahwa jawabannya mencakup bagian desimal dari kuota. Coba ekspresi yang sedikit lebih rumit dengan bilangan desimal ganda. Anda bisa menggunakan nilai berikut, atau mengganti angka lain:
double a = 19;
double b = 23;
double c = 8;
double d = (a + b) / c;
Console.WriteLine(d);
Rentang nilai ganda lebih besar dari nilai bilangan bulat. Coba kode berikut di jendela interaktif:
double max = double.MaxValue;
double min = double.MinValue;
Console.WriteLine($"The range of double is {min} to {max}");
Nilai-nilai ini dicetak dalam notasi ilmiah. Angka sebelum E
adalah nilai signifikan (significand). Angka setelah E
adalah eksponen, sebagai kekuatan 10.
Sama seperti angka desimal dalam matematika, ganda dalam C# dapat memiliki kesalahan pembulatan. Coba kode ini:
double third = 1.0 / 3.0;
Console.WriteLine(third);
Anda tahu bahwa 0.3
adalah 3/10
dan tidak persis sama dengan 1/3
. Demikian pula, 0.33
adalah 33/100
. Nilai itu lebih dekat ke 1/3
, tetapi masih belum tepat. Tidak peduli berapa banyak tempat desimal yang Anda tambahkan, kesalahan pembulatan tetap ada.
Tantangan
Coba perhitungan lain dengan jumlah besar, angka kecil, perkalian, dan pembagian menggunakan jenis .double
Coba penghitungan yang lebih rumit.
Bekerja dengan tipe desimal
Ada satu jenis lain yang harus dipelajari: jenis decimal
. Jenis ini decimal
memiliki rentang yang lebih kecil tetapi presisi yang lebih besar daripada double
. Mari kita lihat:
decimal min = decimal.MinValue;
decimal max = decimal.MaxValue;
Console.WriteLine($"The range of the decimal type is {min} to {max}");
Perhatikan bahwa rentangnya lebih kecil dari jenisnya double
. Anda dapat melihat presisi yang lebih besar 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 titik desimal.
Akhiran M
pada angka adalah cara Anda menunjukkan bahwa sebuah konstanta harus menggunakan jenis decimal
. Jika tidak, kompilator akan mengasumsikan jenis double
tersebut.
Nota
Huruf M
dipilih sebagai huruf yang paling berbeda secara visual antara double
kata kunci dan decimal
.
Tantangan
Tulis kode yang menghitung area lingkaran yang radiusnya 2,50 sentimeter. Ingatlah bahwa area lingkaran adalah radius kuadrat dikalikan dengan PI. Satu petunjuk: .NET berisi konstanta untuk PI, Math.PI yang dapat Anda gunakan untuk nilai tersebut.
Math.PI, seperti semua konstanta yang dideklarasikan dalam namespace System.Math
, adalah nilai double
. Untuk alasan itu, Anda harus menggunakan nilai double
dan bukan decimal
untuk tantangan ini.
Anda harus mendapatkan jawaban antara 19 dan 20.
Setelah Anda mencobanya, buka panel detail untuk melihat bagaimana Anda melakukannya:
Coba beberapa rumus lain jika Anda mau.
Anda menyelesaikan tutorial interaktif "Numbers in C#". Anda dapat memilih tautan Tuples dan jenis untuk memulai tutorial interaktif berikutnya, atau Anda dapat mengunjungi situs .NET untuk mengunduh .NET SDK, membuat proyek di komputer Anda, dan terus mengodekan. Bagian "Langkah berikutnya" membawa Anda kembali ke tutorial ini.
Anda dapat mempelajari selengkapnya tentang angka di C# di artikel berikut: