จำนวนเต็มกำหนดขนาด: i32, u8, usize
เลือกความกว้างที่ต้องการอย่างแม่นยำ
จำนวนเต็มกำหนดขนาด: 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- จำนวนเต็มกำหนดขนาด: i32, u8, usize
- เลขทศนิยม: f32 และ f64
- bool, void และชนิด comptime
- ค่าตัวเลขตามตัวอักษรและขีดล่าง