เลขฐานสิบเข้ารหัสฐานสอง
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
เลขฐานสิบเข้ารหัสฐานสอง หรือ บีซีดี (Binary-coded decimal : BCD) เป็นระบบเลขที่ใช้เลขฐานสองจำนวนอย่างน้อย 4 บิตแทนเลขฐานสิบ 0 ถึง 9 ในแต่ละหลัก เพื่อความสะดวกในการแสดงผลจากการคำนวณด้วยคอมพิวเตอร์หรืออุปกรณ์อิเล็กทรอนิกส์ ตัวอย่าง เลขฐานสิบ 127 จะสามารถแปลงเป็นบีซีดีได้เป็น 0001 0010 0111
เป็นต้น
โดยพื้นฐานแล้วบีซีดีจะต้องมีบิตอย่างน้อย 4 บิตจึงจะแสดงผลออกมาได้ครบทั้ง 0-9 แต่ในทางปฏิบัติแล้วเมื่อนำบีซีดีไปคำนวณ เช่นการบวกหรือการลบ อาจจะต้องมีบิตอื่นเพิ่ม เพื่อใช้ในการทดเลขหรือการกำหนดเครื่องหมาย และเนื่องจากบีซีดีเป็นระบบเลขที่สร้างขึ้นเพื่อใช้งานในคอมพิวเตอร์และอิเล็กทรอนิกส์เป็นหลัก เลขในแต่ละบิตจึงสามารถเก็บอยู่ในหน่วยความจำได้
ประเภทของบีซีดี
[แก้]คอมพิวเตอร์ในปัจจุบันได้กำหนดหน่วยของความจุไว้ว่า 1 ไบต์เท่ากับ 8 บิต นั่นหมายความว่าเราสามารถเก็บบีซีดีได้ 1-2 หลักต่อ 1 ไบต์ ถ้าเก็บ 2 หลักจะเรียกว่า "packed BCD" และถ้าเก็บหลักเดียวเรียกว่า "unpacked BCD" ซึ่งสามารถดึงค่าออกมาคำนวณง่ายกว่า แต่กินเนื้อที่มากกว่าแบบแรกเป็นเท่าตัว ตัวอย่างเช่น เลขฐานสิบ 2653 เมื่อแปลงเป็นรูปแบบ packed จะได้เป็น 0010 0110 0101 0011
(ใช้หลักละ 4 บิต) ในขณะที่รูปแบบ unpacked จะเป็น 00000010 00000110 00000101 00000011
(เติม 0 ในบิตที่เหลือจนครบ 8 บิต)
การบวกและการลบบีซีดี
[แก้]การบวกและการลบบีซีดี สามารถกระทำได้เหมือนการบวกและการลบเลขฐานสอง แต่จะแตกต่างกันเล็กน้อยตรงที่เมื่อผลลัพธ์นั้นมีการทดไปหลักอื่น หรือบีซีดีมีค่ามากกว่า 9 ในหลักใดๆ จะต้องมีการปรับบีซีดีใหม่ให้ทุกหลักมีค่าเป็น 0-9 ดังเดิม
ตัวอย่าง หากต้องการหาผลลัพธ์ของ 237 + 282 ในรูปแบบบีซีดี สามารถกระทำได้ดังนี้
237 = | 0010
|
0011
|
0111
|
|
282 = | 0010
|
1000
|
0010
|
+ |
ผลบวก = | 0100
|
1011
|
1001
|
จะเห็นว่าหลักสิบเป็น 1011
ซึ่งเท่ากับ 11 มีค่ามากกว่า 9 วิธีการปรับบีซีดีคือนำ 2's complement ของฐาน 10 ไปบวกเข้ากับหลักนั้น (เปรียบเหมือนการลบด้วย 10) ซึ่งนั่นก็คือ 0110
(Invert ของ 9)แล้วนำบิตที่เกินไปบวกเพิ่มในหลักถัดไป
ผลบวก = | 0100
|
1011
|
1001
|
|
เปลี่ยนหลักบีซีดี = | 0000
|
0110
|
0000
|
+ |
0100
|
10001
|
1001
|
||
ผลลัพธ์ = | 0101
|
0001
|
1001
|
เราจะได้ว่า 237 + 282 = 519
สำหรับการลบเลขบีซีดีนั้นให้ทำเหมือนการบวก แต่ต้องเปลี่ยนตัวลบให้อยู่ในรูปแบบ 2's complement ทุกหลักเสียก่อน แล้วจึงบวกไปตามปกติ
ดูเพิ่ม
[แก้]
- ↑ "Tips - www.tic.co.th". www.tic.co.th.