Zig Academy · Pelajaran

Limpahan: + berbanding +% berbanding +|

Matematik memerangkap, membalut dan menepukan.

Pelajaran 2 daripada 413 langkah

Limpahan: + berbanding +% berbanding +| ialah pelajaran Zig Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Zig Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.

Nombor Mempunyai Had

Setiap integer berukuran mempunyai nilai maksimum yang boleh disimpan. Jika melebihinya, anda akan mengalami limpahan, iaitu saat nilai cuba berkembang melebihi julatnya.

Zig Mengesan Limpahan

Secara lalai, pengendali + biasa akan menghentikan pelaksanaan apabila berlaku limpahan. Dalam binaan selamat, melepasi had akan menghentikan program dan bukannya merosakkan nilai.

var x: u8 = 255;
x = x + 1; // panics: overflow

Mengapa Penghentian Ini Membantu

Ralat nyata lebih baik daripada jawapan salah yang senyap. Penghentian akibat limpahan menukar pepijat tersembunyi menjadi kegagalan jelas yang boleh anda cari dan baiki dengan pantas.

Pengiraan Berpusing dengan +%

Kadang-kadang anda mahu nilai berpusing semula dengan sengaja. Pengendali +% membolehkan nilai berpusing, jadi 255 + 1 dalam u8 menjadi 0.

var x: u8 = 255;
x = x +% 1; // 0

Apabila Pengiraan Berpusing Sesuai

Pengiraan berpusing sesuai untuk pembilang, cincangan dan jumlah semak apabila pusingan semula memang dikehendaki. Anda memintanya menggunakan akhiran %, bukan secara tidak sengaja.

Pengiraan Tepu dengan +|

Pengendali +| mengehadkan nilai pada had dan bukannya membenarkannya berpusing. u8 pada 255 kekal 255, sesuai untuk nilai yang tidak boleh melebihi siling.

var x: u8 = 255;
x = x +| 1; // 255

Tiga Pilihan, Satu Keputusan

Jadi + menghentikan limpahan, +% membolehkan nilai berpusing dan +| mengehadkan nilai pada had. Anda memilih tingkah laku yang sepadan dengan tujuan, menjadikan pengendalian limpahan jelas dalam kod anda.

Tiga Pilihan Sama untuk Penolakan

Akhiran ini bukan untuk penambahan sahaja. -, -%, dan -| memberikan penolakan yang menghentikan limpahan, membenarkan pusingan dan mengehadkan nilai dengan cara yang sama.

var x: u8 = 0;
x = x -| 1; // 0

Dan untuk Pendaraban

Pendaraban juga mengikut corak ini: *, *%, dan *|. Peraturan tunggalnya, iaitu memilih tingkah laku limpahan, terpakai pada semua pengendali aritmetik.

const big = a *% b; // wrap on overflow

Binaan Lalai Kekal Selamat

Dalam mod Debug dan ReleaseSafe, pengendali biasa menyemak limpahan. Anda hanya memilih untuk tidak menggunakannya apabila mempunyai sebab sebenar untuk membenarkan pusingan atau mengehadkan nilai.

Niat Terserlah dalam Kod

Oleh sebab setiap tingkah laku mempunyai simbol tersendiri, pembaca dapat melihat niat pengendalian limpahan anda sepintas lalu. Tiada apa-apa yang diandaikan; pengendali menyatakannya dengan jelas.

Semakan Pantas

Anda mahu pembilang u8 berpusing daripada 255 kembali kepada 0. Pengendali yang manakah patut digunakan?

Ringkasan: Pilih Pengendalian Limpahan

Matematik biasa menghentikan limpahan, akhiran % membolehkan pusingan dan akhiran | mengehadkan nilai pada had. Pilih dengan sengaja supaya limpahan tidak lagi menjadi kejutan tersembunyi. 🛡️

Percuma untuk bermula

Pelajari Zig dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Limpahan: + berbanding +% berbanding +|” percuma?

Ya — teks penuh “Limpahan: + berbanding +% berbanding +|” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Zig Academy, tingkat taraf kepada CoddyKit PRO. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Limpahan: + berbanding +% berbanding +|”?

Matematik memerangkap, membalut dan menepukan. Anda berlatih Zig Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Zig Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Zig Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Limpahan: + berbanding +% berbanding +|” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Zig Academy ini?

Ya. Setiap pelajaran Zig Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Operator Aritmetik dan Perbandingan
  2. Limpahan: + berbanding +% berbanding +|
  3. Operator Bit
  4. Logik Boolean dan Litar Pendek
← Kembali ke Zig Academy