กลับไปหน้าบทความ

อ่าน 6 นาที

ส่วนเกิน-3

เลขคณิตไบนารี/ระบบตัวเลข/เปลี่ยนทางจากชื่ออื่น

รหัส Excess-3 , 3-excess หรือ รหัส ไบนารี10-excess-3 (มักย่อเป็นXS-3 , 3XS หรือX3 ) รหัส ไบนารีแบบเลื่อนหรือรหัส Stibitz (ตั้งชื่อตามGeorge Stibitz ,...

ส่วนเกิน-3

รหัสสติบิตซ์
ตัวเลข4 [ 1 ]
แทร็ก4 [ 1 ]
ค่าตัวเลข8 4  −2  −1
น้ำหนัก1..3 [ 1 ]
ความต่อเนื่องหมายเลข[ 1 ]
วัฏจักรหมายเลข[ 1 ]
ระยะทางขั้นต่ำ1 [ 1 ]
ระยะทางสูงสุด4
ความซ้ำซ้อน0.7
พจนานุกรม1 [ 1 ]
คอมพลีเมนต์9 [ 1 ]

รหัส Excess-3 , 3-excess [ 1 ] [ 2 ] [ 3 ]หรือ รหัส ไบนารี10-excess-3 (มักย่อเป็นXS-3 , [ 4 ] 3XS [ 1 ]หรือX3 [ 5 ] [ 6 ] ) รหัส ไบนารีแบบเลื่อน[ 7 ]หรือรหัส Stibitz [ 1 ] [ 2 ] [ 8 ] [ 9 ] (ตั้งชื่อตามGeorge Stibitz , [ 10 ]ผู้สร้างเครื่องบวกเลขแบบรีเลย์ในปี 1937 [ 11 ] [ 12 ] ) เป็นรหัส ไบนารีโค้ดเดซิเมล (BCD) และระบบตัวเลขแบบเสริมตัวเองเป็นการแสดงผลแบบมีอคติ รหัส Excess-3 ถูกใช้ในคอมพิวเตอร์รุ่นเก่าบางเครื่อง รวมถึงเครื่องคิดเงินและเครื่องคิดเลขอิเล็กทรอนิกส์แบบพกพาในช่วงทศวรรษ 1970 และการใช้งานอื่นๆ อีกมากมาย

การเป็นตัวแทน

รหัสไบแอส (Biased codes) เป็นวิธีหนึ่งในการแสดงค่าโดยใช้จำนวนบวกและลบที่สมดุลกัน โดยใช้ค่าN ที่กำหนดไว้ล่วงหน้า เป็นค่าไบแอส รหัสไบแอส (และรหัสเกรย์ ) เป็นรหัสที่ไม่ถ่วงน้ำหนัก ในรหัส Excess-3 ตัวเลขจะถูกแสดงเป็นตัวเลขทศนิยม และแต่ละหลักจะถูกแสดงด้วยสี่บิตโดยเป็นค่าของหลักนั้นบวกด้วย 3 (จำนวน "ส่วนเกิน")

  • เลขฐานสองที่เล็กที่สุดแสดงถึงค่าที่เล็กที่สุด ( 0 − ส่วนเกิน )
  • เลขฐานสองที่มากที่สุดแสดงถึงค่าที่มากที่สุด ( 2 N +1 − ส่วนเกิน − 1 )
ส่วนเกิน-3 และรหัสสติบิตซ์
ทศนิยม ส่วนเกิน-3 สติบิตซ์ บีซีดี 8-4-2-1ไบนารี ส่วนขยายCCITT 3 ใน 6 [ 13 ] [ 1 ]ส่วนขยายแฮมมิง 4 ใน 8 [ 1 ]
0001100110000 0000 ... 10... 0011
1010001000001 0001 ... 11... 1011
2010101010010 0010 ... 10... 0101
3011001100011 0011 ... 10... 0110
4011101110100 0100 ... 00... 1000
5100010000101 0101 ... 11... 0111
6100110010110 0110 ... 10... 1001
7101010100111 0111 ... 10... 1010
8101110111000 1000 ... 00... 0100
9110011001001 1001 ... 10... 1100

ในการเข้ารหัสตัวเลข เช่น 127 นั้น เพียงแค่เข้ารหัสตัวเลขทศนิยมแต่ละหลักดังที่แสดงด้านบน ก็จะได้ (0100, 0101, 1010)

เลขคณิตแบบ Excess-3 ใช้อัลกอริทึม ที่แตกต่างจากเลข BCD หรือ เลขฐานสองแบบปกติที่ไม่เอนเอียงหลังจากบวกเลข Excess-3 สองหลัก ผลรวมดิบจะเป็น Excess-6 ตัวอย่างเช่น หลังจากบวก 1 (0100 ใน Excess-3) และ 2 (0101 ใน Excess-3) ผลรวมจะเป็น 6 (1001 ใน Excess-3) แทนที่จะเป็น 3 (0110 ใน Excess-3) เพื่อแก้ไขปัญหานี้ หลังจากบวกเลขสองหลักแล้ว จำเป็นต้องลบค่าไบแอสส่วนเกินออกโดยการลบเลขฐานสอง 0011 (เลขฐานสิบ 3 ในเลขฐานสองที่ไม่เอนเอียง) หากเลขหลักที่ได้น้อยกว่าเลขฐานสิบ 10 หรือลบเลขฐานสอง 1101 (เลขฐานสิบ 13 ในเลขฐานสองที่ไม่เอนเอียง) หาก เกิด การโอเวอร์โฟลว์ (carry) (ในเลขฐานสอง 4 บิต การลบเลขฐานสอง 1101 เทียบเท่ากับการบวก 0011 และในทางกลับกัน) [ 14 ]

ข้อได้เปรียบ

ข้อได้เปรียบหลักของการเข้ารหัสแบบ excess-3 เหนือการเข้ารหัสแบบไม่เอนเอียงคือ เลขฐานสิบสามารถเสริมด้วยเลขเก้า[ 1 ] (สำหรับการลบ) ได้ง่ายเหมือนกับเลขฐานสองที่สามารถเสริมด้วยเลขหนึ่ง : เพียงแค่กลับบิตทั้งหมด[ 1 ]นอกจากนี้ เมื่อผลรวมของเลขสองหลัก excess-3 มากกว่า 9 บิตตัวทดของตัวบวก 4 บิตจะถูกตั้งค่าเป็นสูง วิธีนี้ใช้ได้ผลเพราะหลังจากบวกเลขสองหลักแล้ว ค่า "ส่วนเกิน" 6 จะได้ผลลัพธ์เป็นผลรวม เนื่องจากจำนวนเต็ม 4 บิตสามารถเก็บค่าได้ตั้งแต่ 0 ถึง 15 เท่านั้น ส่วนเกิน 6 หมายความว่าผลรวมใดๆ ที่มากกว่า 9 จะเกิดการล้น (ทำให้เกิดตัวทดออก)

ข้อดีอีกประการหนึ่งคือ รหัส 0000 และ 1111 ไม่ได้ถูกใช้สำหรับตัวเลขใดๆ ความผิดพลาดในหน่วยความจำหรือสายส่งสัญญาณพื้นฐานอาจส่งผลให้เกิดรหัสเหล่านี้ นอกจากนี้ยังยากกว่าที่จะเขียนรูปแบบศูนย์ลงในสื่อแม่เหล็ก[ 1 ] [ 15 ] [ 11 ]

ตัวอย่าง

ตัวอย่างการแปลง BCD 8-4-2-1เป็น excess-3 ในภาษา VHDL :

entity bcd8421xs3 is port ( a : in std_logic ; b : in std_logic ; c : in std_logic ; d : in std_logic ;an : บัฟเฟอร์std_logic ; bn : บัฟเฟอร์std_logic ; cn : บัฟเฟอร์std_logic ; dn : บัฟเฟอร์std_logic ;w : out std_logic ; x : out std_logic ; y : out std_logic ; z : out std_logic ); end entity bcd8421xs3 ;โครงสร้างการไหลของ ข้อมูล ของสถาปัตยกรรมbcd8421xs3 เริ่มต้นโดยan <= ไม่ใช่a ; bn <= ไม่ใช่b ; cn <= ไม่ใช่c ; dn <= ไม่ใช่d ;w <= ( an และb และd ) หรือ( a และbn และcn ) หรือ( an และb และc และdn ); x <= ( an และbn และd ) หรือ( an และbn และc และdn ) หรือ( an และb และcn และdn ) หรือ( a และbn และcn และd ); y <= ( an และcn และdn ) หรือ( an และc และd ) หรือ( a และbn และcn และdn ); z <= ( an และdn ) หรือ( a และbn และcn และdn );สิ้นสุดสถาปัตยกรรมการไหลของข้อมูล; -- ของ bcd8421xs3

ส่วนขยาย

ส่วนขยาย 3 ใน 6
ตัวเลข6 [ 1 ]
แทร็ก6 [ 1 ]
น้ำหนัก3 [ 1 ]
ความต่อเนื่องหมายเลข[ 1 ]
วัฏจักรหมายเลข[ 1 ]
ระยะทางขั้นต่ำ2 [ 1 ]
ระยะทางสูงสุด6
พจนานุกรม1 [ 1 ]
คอมพลีเมนต์(9) [ 1 ]
ส่วนขยาย 4 จาก 8
ตัวเลข8 [ 1 ]
แทร็ก8 [ 1 ]
น้ำหนัก4 [ 1 ]
ความต่อเนื่องหมายเลข[ 1 ]
วัฏจักรหมายเลข[ 1 ]
ระยะทางขั้นต่ำ4 [ 1 ]
ระยะทางสูงสุด8
พจนานุกรม1 [ 1 ]
คอมพลีเมนต์9 [ 1 ]
  • การขยายรหัส 3 ใน 6: รหัสส่วนเกิน 3 บางครั้งยังใช้สำหรับการถ่ายโอนข้อมูล จากนั้นมักจะขยายเป็นรหัส 6 บิตตามCCITT GT 43 หมายเลข 1 โดยที่ 3 ใน 6 บิตจะถูกตั้งค่า[ 13 ] [ 1 ]
  • ส่วนขยายรหัส 4 ใน 8: ในฐานะทางเลือกแทนรหัสทรานซีฟเวอร์ของ IBM [ 16 ] (ซึ่งเป็นรหัส 4 ใน 8 ที่มีระยะแฮมมิงเท่ากับ 2) [ 1 ]ยังสามารถกำหนดส่วนขยายรหัส 4 ใน 8 ส่วนเกิน 3 เพื่อให้ได้ระยะแฮมมิงเท่ากับ 4 ได้ หากต้องถ่ายโอนเฉพาะตัวเลขฐานสิบเท่านั้น[ 1 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Excess-3&oldid=1353668417 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ส่วนเกิน-3

รหัส Excess-3 , 3-excess หรือ รหัส ไบนารี10-excess-3 (มักย่อเป็นXS-3 , 3XS หรือX3 ) รหัส ไบนารีแบบเลื่อนหรือรหัส Stibitz (ตั้งชื่อตามGeorge Stibitz ,...

การเป็นตัวแทน

รหัสไบแอส (Biased codes) เป็นวิธีหนึ่งในการแสดงค่าโดยใช้จำนวนบวกและลบที่สมดุลกัน โดยใช้ค่า N ที่กำหนดไว้ล่วงหน้า เป็นค่าไบแอส รหัสไบแอส (และ รหัสเกรย์ ) เป็นรหัสที่ไม่ถ่วงน้ำหนัก ในรหัส Excess-3 ตัวเลขจะถูกแสดงเป็นตัวเลขทศนิยม และแต่ละหลักจะถูกแสดงด้วยสี่ บิต...

ข้อได้เปรียบ

ข้อได้เปรียบหลักของการเข้ารหัสแบบ excess-3 เหนือการเข้ารหัสแบบไม่เอนเอียงคือ เลขฐานสิบสามารถ เสริมด้วยเลขเก้า [ 1 ] (สำหรับการลบ) ได้ง่ายเหมือนกับเลขฐานสองที่สามารถ เสริมด้วยเลขหนึ่ง : เพียงแค่กลับบิตทั้งหมด [ 1 ] นอกจากนี้ เมื่อผลรวมของเลขสองหลัก excess-3...

ตัวอย่าง

ตัวอย่างการแปลง BCD 8-4-2-1 เป็น excess-3 ใน ภาษา VHDL :