Ortiqcha-3, 3-ortiqcha yoki 10-ortiqcha-3 ikkilik kod (koʻpincha XS-3, 3XS yoki X3 sifatida qisqartiriladi), oʻzgaruvchi binar yoki Stibitz kodi (1937-yilda oʻrni asosidagi qoʻshish mashinasini qurgan Jorj Stibitzdan keyin) oʻz-oʻzini toʻldiruvchi ikkilikdir . -Kodlangan oʻnlik (BCD) kod va raqamlar tizimidir . Bu noxolis vakillik . Ortiqcha-3 kodi baʼzi eski kompyuterlarda, shuningdek, kassa apparatlari va 1970-yillarning qoʻlda koʻchma elektron kalkulyatorlarida va boshqa maqsadlarda ham ishlatilgan.

Vakillik tahrir

Notoʻgʻri kodlar — bu qiymat sifatida oldindan belgilangan N raqamidan foydalangan holda ijobiy va salbiy raqamlarning muvozanatli soni bilan qiymatlarni ifodalash usuli. Notoʻgʻri kodlar (va kulrang kodlar) vaznsiz kodlardir. 3 tadan ortiq kodda raqamlar oʻnlik raqamlar sifatida ifodalanadi va har bir raqam toʻrt bit bilan raqam qiymati va 3 („ortiqcha“ miqdor) sifatida ifodalanishi mumkin:

  • Eng kichik ikkilik son eng kichik qiymatni bildiradi (0 − excess).
  • Eng katta ikkilik son eng katta qiymatni bildiradi (2N+1 − excess − 1).
Ortiqcha-3 va Stibitz kodi
Oʻnlik Ortiqcha — 3 Stibitz BCD 8-4-2-1 Ikkilik 3/6 CCITT



</br> kengaytma
4/8 Xemming



</br> kengaytma
− 3 0000 psevdo-tetrade Yoʻq Yoʻq Yoʻq Yoʻq
− 2 0001 psevdo-tetrade
− 1 0010 psevdo-tetrade
0 0011 0011 0000 0000 10 0011
1 0100 0100 0001 0001 11 1011
2 0101 0101 0010 0010 10 0101
3 0110 0110 0011 0011 10 0110
4 0111 0111 0100 0100 00 1000
5 1000 1000 0101 0101 11 0111
6 1001 1001 0110 0110 10 1001
7 1010 1010 0111 0111 10 1010
8 1011 1011 1000 1000 00 0100
9 1100 1100 1001 1001 10 1100
10 1101 psevdo-tetrade psevdo-tetrade 1010 Yoʻq Yoʻq
11 1110 psevdo-tetrade psevdo-tetrade 1011
12 1111 psevdo-tetrade psevdo-tetrade 1100
13 Yoʻq Yoʻq psevdo-tetrade 1101
14 psevdo-tetrade 1110
15 psevdo-tetrade 1111

127 kabi raqamni kodlash uchun oʻnlik raqamlarning har birini yuqoridagi kabi kodlash kifoya boʻladi va (0100, 0101, 1010).

Ortiqcha-3 arifmetikasi oddiy noaniq BCD yoki ikkilik pozitsion tizim raqamlariga qaraganda turli xil algoritmlardan foydalanadi. Ikki ortiqcha-3 raqamni qoʻshgandan soʻng, xam summa ortiqcha-6 boʻladi. Masalan, 1 (ortiqcha-0100) va 2 (ortiqcha-3-0101) qoʻshilgandan soʻng, yigʻindi 3 (ortiqcha-3-0110) oʻrniga 6 (ortiqcha-3-1001) ga oʻxshaydi. Ushbu muammoni hal qilish uchun ikkita raqam qoʻshilgandan soʻng, agar natijada olingan raqam oʻnlik 10 dan kichik boʻlsa, ikkilik 0011ni (ob’ektiv ikkilikdagi oʻnlik 3) ayirish yoki ikkilik 1101ni (ob’ektivda oʻnlik 13 ayirish orqali qoʻshimcha chiziqni olib tashlash kerak) agar toshib ketish (tashish) sodir boʻlsa. (4-bitli ikkilik tizimda ikkilik 1101ni ayirish 0011ni qoʻshishga teng va aksincha)

Motivatsiya tahrir

Notoʻgʻri kodlashdan koʻra ortiqcha-3 kodlashning asosiy afzalligi shundaki, oʻnlik sonni toʻqqizlik bilan toʻldirish mumkin (ayirish uchun) ikkilik sonni birlarni toʻldirish mumkin boʻlgani kabi: faqat barcha bitlarni teskari aylantirish orqali. Bundan tashqari, ikkita ortiqcha 3 ta raqam yigʻindisi 9 dan katta boʻlsa, 4 bitli qoʻshimchaning tashish biti yuqori boʻladi. Bu ishlaydi, chunki ikkita raqam qoʻshilgandan soʻng, 6 ning „ortiqcha“ qiymati yigʻindiga olib kelinadi. 4-bitli butun son faqat 0 dan 15 gacha boʻlgan qiymatlarni oʻz ichiga olishi mumkinligi sababli, 6 dan ortigʻi 9 dan ortiq har qanday summa toʻlib ketishini anglatadi (amalga oshirishni keltirib chiqaradi).

Yana bir afzalligi shundaki, 0000 va 1111 kodlari hech qanday raqam uchun ishlatilmaydi. Xotira yoki asosiy uzatish liniyasidagi nosozlik ushbu kodlarga olib kelishi mumkin. Magnit muhitga nol qiymatni yozish ham qiyinroq.

Misol tahrir

VHDL da BCD 8-4-2-1 dan ortiq-3 konverteri misoli:

entity bcd8421xs3 is
 port (
  a  : in  std_logic;
  b  : in  std_logic;
  c  : in  std_logic;
  d  : in  std_logic;

  an : buffer std_logic;
  bn : buffer std_logic;
  cn : buffer std_logic;
  dn : buffer std_logic;

  w  : out  std_logic;
  x  : out  std_logic;
  y  : out  std_logic;
  z  : out  std_logic
 );
end entity bcd8421xs3;

architecture dataflow of bcd8421xs3 is
begin
  an <= not a;
  bn <= not b;
  cn <= not c;
  dn <= not d;

  w  <= (an and b and d ) or (a and bn and cn)
     or (an and b and c and dn);
  x  <= (an and bn and d ) or (an and bn and c and dn)
     or (an and b and cn and dn) or (a and bn and cn and d);
  y  <= (an and cn and dn) or (an and c and d )
     or (a and bn and cn and dn);
  z  <= (an and dn) or (a and bn and cn and dn);

end architecture dataflow;  of bcd8421xs3
  • 3/6 kod kengaytmasi: Ortiqcha-3 kod baʼzan maʼlumotlarni uzatish uchun ham ishlatiladi, keyin koʻpincha CCITT GT uchun 6 bitli kodga kengaytiriladi 43 Yoʻq. 1, bu erda 6 bitdan 3 tasi oʻrnatiladi.
  • 4/8 kod kengaytmasi: IBM qabul qiluvchi kodiga muqobil sifatida (bu Hamming masofasi 2 ga teng 4/8 kod), 4-kodni ham belgilash mumkin.ortiqcha-3 kod kengaytmasi, agar faqat denar raqamlari oʻtkazilishi kerak boʻlsa, Hamming masofasi 4 ga eltadi.

Yana qarang tahrir

  • Ofset ikkilik, ortiqcha- N, noaniq vakillik
  • Ortiqcha — 128
  • Haddan tashqari kulrang kod
  • Oʻzgartirilgan kulrang kod
  • Kulrang kod
  • m-of-n kodi
  • Aiken kodi