Integer Lebar Sembarangan seperti u3
Gunakan tipe bilangan dengan lebar bit yang tepat.
Integer Lebar Sembarangan seperti u3 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.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Beyond u8 and u32
Zig is not limited to the usual sizes. You can ask for an integer of any bit width, from u1 all the way up to enormous values.
The uN Pattern
Write u followed by a number to get an unsigned integer of exactly that many bits. So u3 holds three bits.
const level: u3 = 5;Signed Versions Too
Swap the u for an i to get a signed integer of any width, so i4 covers a small signed range.
const delta: i4 = -3;Exact Range Control
A u3 stores values from 0 to 7, because three bits give eight combinations. The type itself enforces that range.
Find the Limits
Ask the type for its bounds with maxInt and minInt, instead of memorizing them yourself.
const hi = std.math.maxInt(u3); // 7
const lo = std.math.minInt(u3); // 0Even One-Bit Integers
A u1 holds just 0 or 1, acting like a single raw bit you can store and compute with directly.
const bit: u1 = 1;u0 Is a Real Type
Even u0 exists. It can only ever be the value 0 and takes up no bits, which is handy in generic code.
Perfect for Packed Fields
Odd widths like u3 and u5 are ideal inside a packed struct, letting each field claim exactly the bits it needs.
const Color = packed struct {
r: u5,
g: u6,
b: u5,
};Watch for Overflow
Assigning 8 to a u3 overflows its range. In safe modes Zig catches this at runtime instead of letting it wrap silently.
Cast to Widen
Use @as or @intCast to move a narrow value into a wider type when you need more room to compute.
const small: u3 = 5;
const big: u16 = @as(u16, small);Express Intent
Arbitrary widths let the type system document your real constraints, so a u4 makes it clear a value never exceeds 15. 🎯
Quick Check
Think about how many distinct values fit in three bits.
Recap
You met arbitrary-width integers like u3 and i4: exact ranges, perfect for packed fields, with overflow checked in safe modes. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Integer Lebar Sembarangan seperti u3” gratis?
Ya — teks lengkap “Integer Lebar Sembarangan seperti u3” 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 “Integer Lebar Sembarangan seperti u3”?
Gunakan tipe bilangan dengan lebar bit yang tepat. 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 “Integer Lebar Sembarangan seperti u3” 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
- packed struct untuk Tata Letak Tepat
- Integer Lebar Sembarangan seperti u3
- Field Bit dan Flag
- extern struct dan Tata Letak ABI