Zig Academy · บทเรียน

จำนวนเต็มกำหนดขนาด: i32, u8, usize

เลือกความกว้างที่ต้องการอย่างแม่นยำ

บทเรียน 1 จาก 413 ขั้นตอน

จำนวนเต็มกำหนดขนาด: i32, u8, usize เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

จำนวนเต็มมีขนาดติดตัวมา

ใน Zig width ของจำนวนเต็มเป็นส่วนหนึ่งของชนิดข้อมูล คุณจึงทราบแน่ชัดเสมอว่าตัวเลขใช้กี่บิต 🔢

จำนวนเต็มมีเครื่องหมายขึ้นต้นด้วย i

ชนิดอย่าง i32 คือจำนวนเต็มแบบมีเครื่องหมายขนาด 32 บิต ตัว i หมายความว่าสามารถเก็บค่าลบและค่าบวกได้

const temperature: i32 = -15;

จำนวนเต็มไม่มีเครื่องหมายขึ้นต้นด้วย u

u8 คือจำนวนเต็มแบบไม่มีเครื่องหมายขนาด 8 บิต เนื่องจากไม่มีบิตเครื่องหมาย จึงเก็บได้เฉพาะค่าที่ไม่ติดลบ ตั้งแต่ 0 ถึง 255

const level: u8 = 200;

เลือกความกว้างให้เหมาะสม

ตัวเลขหลัง i หรือ u คือ bit width u8 ครอบคลุมค่าตั้งแต่ 0 ถึง 255 ส่วน u16 ครอบคลุมได้ถึง 65535

usize สำหรับขนาดและดัชนี

ชนิด usize เป็นจำนวนเต็มไม่มีเครื่องหมายที่มีขนาดพอจะเก็บที่อยู่หน่วยความจำหรือดัชนีใด ๆ บนเครื่องของคุณ ใช้ชนิดนี้กับความยาว

const count: usize = 42;

isize คือชนิดคู่กันแบบมีเครื่องหมาย

ชนิด isize มีความกว้างเท่ากับ usize แต่เป็นจำนวนเต็มแบบมีเครื่องหมาย เลือกใช้เมื่อค่าที่มีขนาดเท่าดัชนีสามารถติดลบได้ด้วย

เหตุใดการกำหนดขนาดอย่างชัดเจนจึงมีประโยชน์

ความกว้างตายตัวทำให้หน่วยความจำและการล้นของค่า predictable คุณไม่ต้องคาดเดาว่า int มีขนาดเท่าใดบนแพลตฟอร์มหนึ่ง ๆ

ระบุชนิดข้อมูลหรือให้ Zig อนุมาน

คุณสามารถกำกับค่าไว้ด้วยชนิดข้อมูล หรือให้ Zig infer จากบริบทก็ได้ ลิเทอรัลที่ไม่มีการระบุชนิดมักกลายเป็นจำนวนเต็มในเวลาคอมไพล์

const x: i32 = 100;
const y = 7;

ค่าต้องพอดีกับชนิดข้อมูล

Zig จะไม่ยอมจัดเก็บค่าที่ พอดี กับชนิดข้อมูลไม่ได้ การกำหนดค่า 300 ให้กับ u8 จะทำให้เกิดข้อผิดพลาดขณะคอมไพล์ เนื่องจาก u8 มีค่าสูงสุดอยู่ที่ 255

แปลงขนาดด้วย @intCast

หากต้องการเปลี่ยนขนาดของจำนวนเต็ม คุณต้องระบุอย่างชัดเจน บิลท์อิน @intCast จะแปลงค่าเป็นชนิดจำนวนเต็มที่แตกต่างออกไป

const big: u32 = 250;
const small: u8 = @intCast(big);

อ่านช่วงค่าจากชื่อ

ชื่อจะบอกทุกอย่างให้คุณทราบ: i8 มีค่าตั้งแต่ -128 ถึง 127 ส่วน u16 มีค่าตั้งแต่ 0 ถึง 65535 ทั้งขนาดและเครื่องหมายระบุอยู่ในชื่อแล้ว

ตรวจสอบอย่างรวดเร็ว

คุณต้องการค่าที่ใช้เก็บความยาวของอาร์เรย์หรือตำแหน่งในหน่วยความจำ ชนิดจำนวนเต็มใดเหมาะสมที่สุดโดยธรรมชาติ

สรุป

จำนวนเต็มใน Zig จะระบุทั้งเครื่องหมายและขนาด: i32, u8 และ usize เลือกชนิดที่เล็กที่สุดซึ่งรองรับค่าได้ และแคสต์อย่างตั้งใจเมื่อขนาดแตกต่างกัน 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Zig ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “จำนวนเต็มกำหนดขนาด: i32, u8, usize” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “จำนวนเต็มกำหนดขนาด: i32, u8, usize” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “จำนวนเต็มกำหนดขนาด: i32, u8, usize”

เลือกความกว้างที่ต้องการอย่างแม่นยำ คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “จำนวนเต็มกำหนดขนาด: i32, u8, usize” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. จำนวนเต็มกำหนดขนาด: i32, u8, usize
  2. เลขทศนิยม: f32 และ f64
  3. bool, void และชนิด comptime
  4. ค่าตัวเลขตามตัวอักษรและขีดล่าง
← กลับไปที่ Zig Academy