Bagikan melalui


Cara menggunakan bilangan bulat dan titik pecahan di C#

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:

::code language="csharp" interactive="try-dotnet-method" source="./snippets/NumbersInCsharp/Program.cs" id="Challenge":::

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: