เนื้อหา
Binary Coded Decimal หรือ BCD สัญกรณ์ทศนิยมใช้สำหรับการเขียนโปรแกรมคอมพิวเตอร์เนื่องจากความสามารถในการประหยัดความจุหน่วยความจำ การเขียนส่วนของข้อมูลทศนิยมในรหัสไบนารีอาจเกิดขึ้นได้สองวิธี: โดยการแปลงตัวเลขโดยรวมเป็นเลขฐานสองหรือโดยการแปลงเลขฐานสิบเป็นเลขฐานสองทีละหลัก ไม่มีขีด จำกัด สูงสุดสำหรับขนาดของตัวเลขที่อนุญาตหากใช้รหัส BCD แต่เมื่อแปลงเลขฐานสิบทั้งหมดเป็นเลขฐานสองจำนวนที่ใช้งานได้มากที่สุดจะถูกกำหนดโดยความจุของโปรเซสเซอร์และบัสข้อมูลของคอมพิวเตอร์ ฐานตัวเลขทั่วไปที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์คือ 2, 8, 10 และ 16 แต่ละฐานจะอธิบายตัวเลขที่จะใช้ในการแสดงค่าและกำหนดว่าจะจัดการอย่างไร
ขั้นตอนที่ 1
เขียนรหัส BCD ของตัวเลขที่คุณต้องการแปลงฐานของคุณ รหัส BCD คือชุดของเลขฐานสอง 4 บิตที่สอดคล้องกับแต่ละหลักในฐานของระบบตัวเลข ตัวอย่างเช่นถ้าคุณจะใช้ตัวเลข "138" ในฐาน 10 หรือระบบฐานสิบรหัส BCD จะมี 12 บิต แต่ละ 4 บิตแทนตัวเลขทศนิยมหนึ่งหลัก ตัวเลขแรก "1" จะเป็น 0001 ในรหัส BCD ตัวเลขสองหลักถัดไปจะประกอบในลักษณะเดียวกันนั่นคือ "3" จะเป็น 0011 และ "8" จะเป็น 1000 การแทนทศนิยมของรหัส BCD "138" จะเป็น "000100111000" หรือทำให้ง่ายขึ้นเป็น "100111000"
ขั้นตอนที่ 2
เลือกฐานที่คุณต้องการแปลงหมายเลข BCD เป็น สิ่งที่พบบ่อยที่สุดในการเขียนโปรแกรมคอมพิวเตอร์ ได้แก่ ไบนารี (ฐาน 2) ฐานแปด (ฐาน 8) และเลขฐานสิบหก (ฐาน 16)
ขั้นตอนที่ 3
แปลงหมายเลขรหัส BCD เป็นรูปแบบทศนิยม ไม่มีวิธีโดยตรงในการแปลงรหัส BCD เป็นฐานอื่น ในการเขียนตัวเลขบนฐานที่คุณเลือกก่อนอื่นคุณต้องแปลงเป็นเลขฐานสิบแล้วจึงเป็นฐานที่เลือก ตัวอย่างเช่นถอดรหัสหมายเลข BCD ต่อไปนี้เป็นฐานเดิม (ฐาน 10) "1001011100101001" ในการดำเนินการนี้จำเป็นต้องจัดกลุ่มบิตเป็นชุด 4 บิตจากนั้นแปลงแต่ละชุดเป็นเลขฐานสิบ สี่กลุ่มคือ "1001", "0111", "0010" และ "1001" ซึ่งการแปลงจะส่งผลเป็น 9729
ขั้นตอนที่ 4
หารเลขฐานสิบด้วยค่าฐานที่คุณต้องการแปลง ส่วนที่เหลือของส่วนที่เหลือจะอยู่ในตำแหน่งที่สำคัญน้อยกว่าของผลลัพธ์ แบ่งส่วนทั้งหมดของผลลัพธ์ด้วยค่าฐานอีกครั้ง ส่วนทั้งหมดจะต้องถูกผลักไปข้างหน้าและส่วนที่เหลือจะครองตำแหน่งที่สำคัญน้อยที่สุดถัดไปในผลลัพธ์ สิ่งนี้จะดำเนินต่อไปจนกว่าส่วนทั้งหมดจะน้อยกว่าค่าฐาน ตัวอย่างเช่นลองแปลง 312 เป็นทศนิยมสำหรับฐาน 4 ชุดการคำนวณต่อไปนี้จะให้คำตอบตามที่ต้องการ
312/4 = 78; พัก = 0 78/4 = 19; พัก = 2 19/4 = 4; พัก = 3 4/4 = 1; พัก = 0
ตอนนี้คุณจะรวมค่าจำนวนเต็มสุดท้ายที่พบในการหารในกรณีนี้คือตัวเลข "1" ตามด้วยส่วนที่เหลือที่พบจากคำอธิบายสุดท้ายถึงคำอธิบายประกอบแรกสิ้นสุดการแปลงและไปถึงผลลัพธ์ "10320" ในฐาน 4