Luapan: + vs +% vs +|
Matematika yang menjebak, membungkus, dan menjenuhkan.
Luapan: + vs +% vs +| adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.
Bilangan Memiliki Batas
Setiap bilangan bulat berukuran tertentu memiliki nilai maksimum yang dapat disimpan. Jika melampauinya, Anda mengalami luapan, yaitu saat suatu nilai mencoba tumbuh melampaui rentangnya.
Zig Mendeteksi Luapan
Secara bawaan, operator + biasa menghentikan eksekusi saat terjadi luapan. Dalam build aman, melewati batas akan menghentikan program, bukan merusak nilainya.
var x: u8 = 255;
x = x + 1; // panics: overflowMengapa Penghentian Ini Membantu
Kegagalan yang terlihat lebih baik daripada jawaban salah yang diam-diam. Penghentian mengubah bug tersembunyi menjadi kegagalan jelas yang dapat Anda temukan dan perbaiki dengan cepat.
Matematika Melingkar dengan +%
Terkadang Anda memang ingin nilai berputar kembali dari awal. Operator +% membungkus nilai, sehingga 255 + 1 pada u8 menjadi 0.
var x: u8 = 255;
x = x +% 1; // 0Kapan Pembungkusan Tepat Digunakan
Pembungkusan sangat berguna untuk pencacah, hash, dan checksum ketika perputaran memang diinginkan. Anda memintanya dengan akhiran %, bukan mendapatkannya secara tidak sengaja.
Matematika Menjenuhkan dengan +|
Operator +| membatasi nilai pada batasnya, bukan membungkusnya. u8 yang bernilai 255 tetap menjadi 255, cocok untuk nilai yang tidak boleh melampaui batas atas.
var x: u8 = 255;
x = x +| 1; // 255Tiga Pilihan, Satu Keputusan
Jadi + menghentikan eksekusi saat luapan, +% membungkus, dan +| menjenuhkan. Anda memilih perilaku yang sesuai dengan maksud, sehingga penanganan luapan menjadi eksplisit dalam kode.
Tiga Pilihan yang Sama untuk Pengurangan
Akhiran ini bukan hanya untuk penjumlahan. -, -%, dan -| memberi Anda pengurangan yang menghentikan eksekusi, membungkus, dan menjenuhkan dengan cara yang sama.
var x: u8 = 0;
x = x -| 1; // 0Dan untuk Perkalian
Perkalian juga mengikuti pola tersebut: *, *%, dan *|. Aturan tunggalnya, pilih perilaku luapan, berlaku di seluruh operator aritmetika.
const big = a *% b; // wrap on overflowBuild Bawaan Tetap Aman
Dalam mode Debug dan ReleaseSafe, operator biasa memeriksa luapan. Anda hanya menonaktifkan pemeriksaan tersebut jika memiliki alasan nyata untuk membungkus atau menjenuhkan nilai.
Maksud Terlihat dalam Kode
Karena setiap perilaku memiliki simbolnya sendiri, pembaca dapat melihat maksud penanganan luapan Anda sekilas. Tidak ada yang diasumsikan; operator menyatakannya dengan jelas.
Pemeriksaan Singkat
Anda ingin pencacah u8 berputar dari 255 kembali ke 0. Operator mana yang digunakan?
Ringkasan: Pilih Penanganan Luapan
Matematika biasa menghentikan eksekusi saat luapan, akhiran % membungkus, dan akhiran | menjenuhkan. Pilih dengan sengaja agar luapan tidak pernah menjadi kejutan tersembunyi. 🛡️
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Luapan: + vs +% vs +|” gratis?
Ya — teks lengkap “Luapan: + vs +% vs +|” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Luapan: + vs +% vs +|”?
Matematika yang menjebak, membungkus, dan menjenuhkan. Kamu berlatih Zig Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Zig Academy?
Tidak diperlukan pengalaman sebelumnya. Zig Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Luapan: + vs +% vs +|” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Zig Academy ini?
Ya. Setiap pelajaran Zig Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Operator Aritmetika dan Perbandingan
- Luapan: + vs +% vs +|
- Operator Bitwise
- Logika Boolean dan Hubung Singkat