ระบบเลขฐานและการคำนวณเลขฐานสอง
เรียนจบบทนี้แล้วจะ
- เข้าใจระบบเลขฐานและค่าประจำหลัก
- อธิบายความสัมพันธ์ของเลขฐานสิบกับเลขฐานสอง
- แปลงเลขฐานสองแบบไม่มีเครื่องหมายเป็นฐานสิบได้
- บอกได้ว่าแต่ละบิตเพิ่มค่าให้ผลรวมเท่าไร
หัวข้อในบทนี้
ระบบเลขฐานสิบและค่าประจำหลัก
ตัวเลขที่เราใช้ทุกวันเป็นระบบเลขฐานสิบ (Base 10) มีเลขโดด 10 ตัวคือ 0 ถึง 9 และแต่ละหลักมี ไม่เท่ากัน หลักหน่วยมีค่า 1 หลักสิบมีค่า 10 หลักร้อยมีค่า 100 ทุกครั้งที่ขยับไปทางซ้ายหนึ่งหลัก ค่าประจำหลักจะคูณ 10
กดปุ่มด้านล่างเพื่อดูการแยกเลข 345 ทีละขั้น (ใช้ปุ่มลูกศรบนคีย์บอร์ดก็ได้)
1/4ตัวเลข 345
ขั้นที่ 1 จาก 4: ตัวเลข 345
3
4
5
เลข 345 ที่เราเขียนกันทุกวัน แต่ละหลักมีความหมายไม่เท่ากัน
เลขฐานสองใช้แค่ 0 กับ 1
คอมพิวเตอร์เก็บข้อมูลด้วยวงจรที่มีแค่ 2 สถานะ (มีไฟ / ไม่มีไฟ) จึงใช้ระบบเลขฐานสอง (Base 2) ซึ่งมีเลขโดดแค่ 0 และ 1 หลักแต่ละหลักของเลขฐานสองเรียกว่า
หลักการเหมือนฐานสิบทุกอย่าง ต่างกันตรงที่ขยับไปทางซ้ายหนึ่งหลัก ค่าประจำหลักจะคูณ 2 แทนที่จะคูณ 10 เพื่อไม่ให้สับสน เราเขียนฐานไว้ข้างล่าง เช่น 10112 คือเลขฐานสอง ส่วน 101110 คือหนึ่งพันสิบเอ็ด
น้ำหนักของแต่ละบิต
ค่าประจำหลักของบิตเรียกว่า นับตำแหน่งจากขวาสุดเป็นตำแหน่งที่ 0 บิตตำแหน่งที่ k มีน้ำหนัก 2k
| ตำแหน่ง | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| น้ำหนัก | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
| ค่า | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
ค่าฐานสิบของเลขฐานสองจึงเท่ากับผลรวมของน้ำหนักทุกบิตที่เป็น 1 (บิตที่เป็น 0 ไม่เพิ่มอะไร)
ตัวอย่าง: แปลง 1011₂ เป็นฐานสิบ
ไล่ทีละบิตที่เป็น 1 แล้วบวกน้ำหนักเข้าไปทีละตัว:
1/5เขียนน้ำหนักใต้แต่ละบิต
ขั้นที่ 1 จาก 5: เขียนน้ำหนักใต้แต่ละบิต
0 = 0
ใต้แต่ละบิตเขียนน้ำหนัก (2 ยกกำลังตำแหน่ง นับจากขวาสุดเป็นตำแหน่งที่ 0)
ช่วงค่าของจำนวนเต็ม 8 บิตแบบไม่มีเครื่องหมาย
ถ้าใช้ทั้ง 8 บิตเก็บขนาดของค่า (ไม่มีบิตเครื่องหมาย เรียกว่า ) จะได้ทั้งหมด 28 = 256 แบบ
- ค่าน้อยที่สุด: 00000000 = 0
- ค่ามากที่สุด: 11111111 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 = 28 − 1
n บิตเก็บจำนวนเต็มไม่มีเครื่องหมายได้ตั้งแต่ 0 ถึง 2n − 1 · เลขที่ใหญ่กว่านี้ต้องใช้บิตมากขึ้น
Integer Explorer: ลองกดบิตเอง
กดที่บิตเพื่อสลับ 0/1 แล้วดูว่าแต่ละบิตเพิ่มค่าเท่าไร ค่าฐานสิบเปลี่ยนทันที (บนคีย์บอร์ดใช้ Tab เข้ามาแล้วกดลูกศรซ้าย/ขวาย้ายบิต Space หรือ Enter เพื่อสลับ)
8 + 2 + 1 = 11
ค่าตั้งต้น
8 บิตมีได้ 28 = 256 แบบ ค่าน้อยสุด 0 (ทุกบิตเป็น 0) ค่ามากสุด 255 (ทุกบิตเป็น 1)
สรุปท้ายบท
- ระบบเลขแบบค่าประจำหลัก: ค่าของตัวเลข = ผลรวมของ (เลขในหลัก × ค่าประจำหลัก)
- ฐานสิบมีเลขโดด 0–9 ค่าประจำหลักเป็น 10k · ฐานสองมีแค่ 0 กับ 1 ค่าประจำหลักเป็น 2k
- หลักหนึ่งหลักของฐานสองเรียกว่าบิต น้ำหนักของบิตตำแหน่ง 0–7 คือ 1, 2, 4, 8, 16, 32, 64, 128
- ค่าฐานสิบของเลขฐานสอง = ผลรวมน้ำหนักของบิตที่เป็น 1 เช่น 1011₂ = 8 + 2 + 1 = 11
- จำนวนเต็ม 8 บิตแบบไม่มีเครื่องหมายมีค่า 0 ถึง 255