อ่าน 3 นาที
การแสดงผลไบนารีที่ซ้ำซ้อน
ระบบ เลขฐานสองแบบเกินความจำเป็น (RBR) คือ ระบบเลขฐานสอง ที่ใช้บิตมากกว่าที่จำเป็นในการแสดง เลข ฐานสองเพียงหลักเดียว ทำให้เลขส่วนใหญ่มีหลายรูปแบบ RBR แตกต่างจาก ระบบเลขฐานสอง...
การแสดงผลไบนารีที่ซ้ำซ้อน
ระบบเลขฐานสองแบบเกินความจำเป็น (RBR)คือระบบเลขฐานสองที่ใช้บิตมากกว่าที่จำเป็นในการแสดงเลข ฐานสองเพียงหลักเดียว ทำให้เลขส่วนใหญ่มีหลายรูปแบบ RBR แตกต่างจากระบบเลขฐานสอง ทั่วไป รวมถึง ระบบเลข สองส่วนเติมเต็ม (two's complement ) ซึ่งใช้บิตเดียวสำหรับแต่ละหลัก คุณสมบัติหลายอย่างของ RBR แตกต่างจากระบบเลขฐานสองทั่วไป ที่สำคัญที่สุดคือ RBR อนุญาตให้บวกได้โดยไม่ต้องใช้ตัวทด (carry) [ 1 ]เมื่อเปรียบเทียบกับการแสดงเลขฐานสองแบบไม่เกินความจำเป็น RBR ทำให้การดำเนินการทางตรรกะแบบบิตช้าลง แต่การดำเนินการทางคณิตศาสตร์จะเร็วขึ้นเมื่อใช้ความกว้างของบิตที่มากขึ้น[ 2 ]โดยปกติแล้ว แต่ละหลักจะมีเครื่องหมายของตัวเอง ซึ่งไม่จำเป็นต้องเหมือนกับเครื่องหมายของเลขที่แสดง เมื่อหลักมีเครื่องหมาย RBR นั้นก็จะเป็นการแสดงเลขฐานสองแบบมีเครื่องหมายด้วย
แปลงจาก RBR
ระบบตัวเลข แบบ RBR (Registered Block System) เป็นระบบการเขียนตัวเลขตามค่าประจำหลักในระบบ RBR ตัวเลข แต่ละหลัก จะแทนด้วยคู่ของบิต กล่าวคือ สำหรับแต่ละหลัก ระบบ RBR จะใช้คู่ของบิต ค่าที่แสดงโดยตัวเลขที่ซ้ำซ้อนสามารถหาได้โดยใช้ตารางการแปลงค่า ตารางนี้แสดงค่าทางคณิตศาสตร์ของแต่ละคู่ของบิตที่เป็นไปได้
เช่นเดียวกับการแสดงเลขฐานสองแบบดั้งเดิม ค่า จำนวนเต็มของการแสดงค่าใดๆ นั้นเป็นผลรวมถ่วงน้ำหนักของค่าตัวเลข โดยน้ำหนักเริ่มต้นที่ 1 สำหรับตำแหน่งขวาสุด และเพิ่มขึ้นทีละ 2 สำหรับแต่ละตำแหน่งถัดไป โดยปกติแล้ว RBR จะอนุญาตให้มีค่าลบได้ ไม่มีบิตเครื่องหมายใดที่บอกได้ว่าจำนวนที่แสดงซ้ำซ้อนนั้นเป็นบวกหรือลบ จำนวนเต็มส่วนใหญ่มีรูปแบบการแสดงค่าได้หลายแบบใน RBR
โดยทั่วไปแล้ว จะมีการเลือกรูปแบบใดรูปแบบหนึ่งจากหลายรูปแบบที่เป็นไปได้ของจำนวนเต็มมาเป็นรูปแบบ "มาตรฐาน" ดังนั้น จำนวนเต็มแต่ละจำนวนจึงมีเพียงรูปแบบ "มาตรฐาน" เดียวเท่านั้น โดยรูปแบบที่ไม่ติดกันและรูปแบบส่วนเติมเต็มของสองเป็นตัวเลือกที่นิยมใช้สำหรับรูปแบบมาตรฐานนั้น
สามารถแปลงค่าจำนวนเต็มกลับจากค่า RBR ได้โดยใช้สูตรต่อไปนี้ โดยที่n คือจำนวนหลัก และd kคือค่าที่ตีความได้ของหลักที่k โดยที่ kเริ่มต้นที่ 0 ในตำแหน่งขวาสุด:
การแปลงจาก RBR เป็นnบิต two's complement สามารถทำได้ในเวลา O(log( n )) โดยใช้ ตัว บวกแบบพรีฟิก[ 3 ]
ตัวอย่างของการแสดงเลขฐานสองที่ซ้ำซ้อน
| ตัวเลข | ค่าที่ตีความได้ |
|---|---|
| 00 | −1 |
| 01 | 0 |
| 10 | 0 |
| 11 | 1 |
ไม่ใช่ว่าการแสดงค่าซ้ำซ้อนทั้งหมดจะมีคุณสมบัติเหมือนกัน ตัวอย่างเช่น การใช้ตารางการแปลทางด้านขวา ตัวเลข 1 สามารถแสดงใน RBR นี้ได้หลายวิธี: "01·01·01·11" (0+0+0+1), "01·01·10·11" (0+0+0+1), "01·01·11·00" (0+0+2−1) หรือ "11·00·00·00" (8−4−2−1) นอกจากนี้ สำหรับตารางการแปลนี้ การพลิกบิตทั้งหมด ( เกต NOT ) สอดคล้องกับการหาค่าผกผันการบวก ( การคูณด้วย−1 ) ของจำนวนเต็มที่แสดง[ 4 ]
ในกรณีนี้:
การดำเนินการทางคณิตศาสตร์
การแสดงผลแบบซ้ำซ้อนมักถูกใช้ภายใน หน่วยประมวลผลทางคณิตศาสตร์และตรรกะความเร็ว สูง
โดยเฉพาะอย่างยิ่งวงจรบวกแบบ carry-saveจะใช้การแสดงผลแบบซ้ำซ้อน
ส่วนที่เพิ่มเข้าไป

การดำเนินการบวกใน RBR ทั้งหมดไม่มีการทด ซึ่งหมายความว่าตัวทดไม่จำเป็นต้องแพร่กระจายผ่านความกว้างทั้งหมดของหน่วยการบวก ในทางปฏิบัติ การบวกใน RBR ทั้งหมดเป็นการดำเนินการที่ใช้เวลาคงที่ การบวกจะใช้เวลาเท่ากันเสมอโดยไม่ขึ้นอยู่กับความกว้างบิตของตัวถูกดำเนินการนี่ไม่ได้หมายความว่าการบวกใน RBR จะเร็วกว่าการบวกแบบสองส่วนเติมเต็มเสมอไป แต่การบวกจะเร็วขึ้นใน RBR เมื่อความกว้างบิตเพิ่มขึ้น เนื่องจากความล่าช้าของหน่วยการบวกแบบสองส่วนเติมเต็มเป็นสัดส่วนกับ log( n ) (โดยที่nคือความกว้างบิต) [ 5 ]การบวกใน RBR ใช้เวลาคงที่เนื่องจากแต่ละหลักของผลลัพธ์สามารถคำนวณได้อย่างอิสระจากกันและกัน ซึ่งหมายความว่าแต่ละหลักของผลลัพธ์สามารถคำนวณแบบขนานได้[ 6 ]
การลบ
การลบนั้นเหมือนกับการบวก ยกเว้นว่าต้องคำนวณหาตัวผกผันการบวกของตัวถูกดำเนินการตัวที่สองก่อน สำหรับรูปแบบตัวเลขทั่วไป สามารถทำได้ทีละหลัก
การคูณ
ตัวคูณฮาร์ดแวร์จำนวนมาก ใช้ การเข้ารหัสแบบ Boothภายในซึ่งเป็นการแสดงเลขฐานสองแบบซ้ำซ้อน
การดำเนินการเชิงตรรกะ
การดำเนินการทางตรรกะระดับบิต เช่นAND , ORและXORนั้นไม่สามารถทำได้ในรูปแบบการแสดงผลที่ซ้ำซ้อน แม้ว่าจะสามารถทำการดำเนินการระดับบิตโดยตรงกับบิตพื้นฐานภายใน RBR ได้ แต่ก็ไม่ชัดเจนว่านี่เป็นการดำเนินการที่มีความหมายหรือไม่ เนื่องจากมีหลายวิธีในการแสดงค่าใน RBR และค่าของผลลัพธ์จะขึ้นอยู่กับรูปแบบการแสดงผลที่ใช้
เพื่อให้ได้ผลลัพธ์ที่คาดหวัง จำเป็นต้องแปลงตัวดำเนินการทั้งสองตัวให้เป็นรูปแบบที่ไม่ซ้ำซ้อนก่อน ดังนั้น การดำเนินการทางตรรกะจึงช้าลงใน RBR กล่าวคือ ใช้เวลาแปรผันตรงกับ log( n ) (โดยที่nคือจำนวนหลัก) เมื่อเทียบกับเวลาคงที่ในระบบเลขสองคอมพลีเมนต์
อย่างไรก็ตาม เป็นไปได้ที่จะ แปลงเฉพาะส่วนที่สำคัญน้อยที่สุดของตัวเลขที่แสดงซ้ำซ้อนให้เป็นรูปแบบที่ไม่ซ้ำซ้อนได้บาง ส่วนวิธีนี้ช่วยให้การดำเนินการต่างๆ เช่น การปิดบัง บิต kบิตล่าง สามารถทำได้ในเวลา log( k )
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การแสดงผลไบนารีที่ซ้ำซ้อน
ระบบ เลขฐานสองแบบเกินความจำเป็น (RBR) คือ ระบบเลขฐานสอง ที่ใช้บิตมากกว่าที่จำเป็นในการแสดง เลข ฐานสองเพียงหลักเดียว ทำให้เลขส่วนใหญ่มีหลายรูปแบบ RBR แตกต่างจาก ระบบเลขฐานสอง...
แปลงจาก RBR
ระบบตัวเลข แบบ RBR (Registered Block System) เป็น ระบบการเขียนตัวเลขตามค่าประจำหลัก ในระบบ RBR ตัวเลข แต่ละหลัก จะ แทนด้วยคู่ ของบิต กล่าวคือ สำหรับแต่ละหลัก ระบบ RBR จะใช้คู่ของบิต ค่าที่แสดงโดยตัวเลขที่ซ้ำซ้อนสามารถหาได้โดยใช้ตารางการแปลงค่า...
ตัวอย่างของการแสดงเลขฐานสองที่ซ้ำซ้อน
ไม่ใช่ว่าการแสดงค่าซ้ำซ้อนทั้งหมดจะมีคุณสมบัติเหมือนกัน ตัวอย่างเช่น การใช้ตารางการแปลทางด้านขวา ตัวเลข 1 สามารถแสดงใน RBR นี้ได้หลายวิธี: "01·01·01·11" (0+0+0+1), "01·01·10·11" (0+0+0+1), "01·01·11·00" (0+0+2−1) หรือ "11·00·00·00" (8−4−2−1) นอกจากนี้...
การดำเนินการทางคณิตศาสตร์
การแสดงผลแบบซ้ำซ้อนมักถูกใช้ภายใน หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ ความเร็ว สูง