0Pricing
Swift Academy · บทเรียน

ชนิดจำนวนเต็มและช่วงค่า

ทำความเข้าใจ Int, UInt, Int8..Int64 และขอบเขตค่าของแต่ละชนิด

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

ชนิดจำนวนเต็มใน Swift

Swift มีชนิดจำนวนเต็มหลายชนิด โดย Int เป็นชนิดเริ่มต้นและมีขนาดเท่ากับขนาดเวิร์ดของแพลตฟอร์ม ซึ่งโดยปกติคือ 64 บิต นอกจากนี้ยังมีชนิดที่มีความกว้างคงที่ เช่น Int8, Int16, Int32 และ Int64

let count: Int = 42
print(count)
print(type(of: count))

signed เทียบกับ unsigned

ชนิด signed (Int) เก็บค่าลบและค่าบวกได้ ส่วนชนิด unsigned (UInt) เก็บได้เฉพาะค่าศูนย์และค่าบวก จึงมีช่วงค่าบวกที่กว้างกว่า

let signed: Int = -10
let unsigned: UInt = 10
print(signed, unsigned)

ขนาดจำนวนเต็มที่มีความกว้างคงที่

ตัวเลขในชื่อชนิดข้อมูลระบุความกว้างเป็นบิต Int8 ใช้ 8 บิต Int16 ใช้ 16 บิต และเป็นไปตามลำดับ ยิ่งมีบิตมาก ช่วงค่าก็ยิ่งกว้าง

print(MemoryLayout<Int8>.size)
print(MemoryLayout<Int16>.size)
print(MemoryLayout<Int64>.size)

พร็อพเพอร์ตี min และ max

ชนิดจำนวนเต็มทุกชนิดมี .min และ .max ซึ่งให้ค่าที่น้อยที่สุดและมากที่สุดที่สามารถแทนค่าได้

print(Int8.min, Int8.max)
print(UInt8.min, UInt8.max)

ขอบเขตของ Int8

Int8 แบบ signed มีค่าตั้งแต่ -128 ถึง 127 ความไม่สมมาตรนี้เกิดจากการสงวนค่าหนึ่งค่าไว้แทนศูนย์ในฝั่งค่าที่ไม่เป็นลบ

print("Int8 range:", Int8.min, "to", Int8.max)

ขอบเขตของ UInt8

UInt8 แบบ unsigned มีค่าตั้งแต่ 0 ถึง 255 เนื่องจากไม่ต้องใช้บิตเครื่องหมาย บิตทั้ง 8 บิตจึงใช้แทนขนาดของค่าได้ทั้งหมด

print("UInt8 range:", UInt8.min, "to", UInt8.max)

ช่วงค่าจำนวนเต็มที่ใหญ่ขึ้น

Int16, Int32 และ Int64 มีช่วงค่าที่เพิ่มขึ้นแบบทวีคูณ โดย Int32 ก็มีขนาดเกินสองพันล้านแล้ว

print("Int16 max:", Int16.max)
print("Int32 max:", Int32.max)
print("Int64 max:", Int64.max)

Int ของแพลตฟอร์ม

บนแพลตฟอร์ม 64 บิต Int จะเหมือนกับ Int64 ทุกประการ โดยทั่วไปควรใช้ Int ธรรมดา เว้นแต่คุณต้องการความกว้างที่กำหนดตายตัวโดยเฉพาะ

print("Int.max:", Int.max)
print("Same as Int64:", Int.max == Int64.max)

การเลือกชนิดจำนวนเต็ม

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

let pixelChannel: UInt8 = 200
let fileOffset: Int64 = 5_000_000_000
print(pixelChannel, fileOffset)

การตรวจสอบช่วงค่าด้วย min และ max

คุณสามารถใช้ .min และ .max ขณะโปรแกรมทำงาน เพื่อตรวจสอบว่าค่าหนึ่ง fits ชนิดเป้าหมายก่อนแปลงชนิดได้

let big = 300
let fits = big >= Int(UInt8.min) && big <= Int(UInt8.max)
print("Fits in UInt8:", fits)

ตัวอย่างสรุประยะห่างของจำนวนเต็ม

การเพิ่มบิตแต่ละบิตทำให้ช่วงค่าเพิ่มขึ้นประมาณสองเท่า โปรแกรมนี้แสดงค่าสูงสุดของชนิด unsigned ที่มีความกว้างเพิ่มขึ้นตามลำดับ

print(UInt8.max)
print(UInt16.max)
print(UInt32.max)

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

ทบทวนช่วงค่า exact ของจำนวนเต็ม 8 บิตแบบ signed

สรุป: ชนิดจำนวนเต็มและช่วงค่า

คุณได้เรียนรู้ว่า Int เป็นชนิดเริ่มต้นที่มีขนาดตามแพลตฟอร์ม ชนิด signed ครอบคลุมค่าลบ ขณะที่ชนิด unsigned (UInt) เริ่มต้นที่ศูนย์ และชนิดที่มีความกว้างคงที่ตั้งแต่ Int8 ถึง Int64 มีขอบเขต .min/.max เฉพาะของตนเอง ซึ่งเพิ่มขึ้นตามความกว้างของบิต

print("Defaults and bounds:")
print(Int.max)
print(Int8.min, Int8.max)
print(UInt8.max)

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

บทเรียน “ชนิดจำนวนเต็มและช่วงค่า” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ชนิดจำนวนเต็มและช่วงค่า”

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

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

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

บทเรียน “ชนิดจำนวนเต็มและช่วงค่า” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ชนิดจำนวนเต็มและช่วงค่า
  2. จำนวนทศนิยม: Double กับ Float
  3. การแปลงชนิดตัวเลขอย่างชัดเจน
  4. ค่าคงที่ตัวเลขและขีดล่าง
← กลับไปที่ Swift Academy