• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Suma liczb w kodzie BCD+3

Object Storage Arubacloud
0 głosów
1,320 wizyt
pytanie zadane 11 listopada 2018 w Systemy operacyjne, programy przez Tom_Ja Dyskutant (7,970 p.)
Obliczyć sumę liczb X(10) = 32,45 i Y(10) = 67,81 w kodzie BCD+3.

Jak to zrobić?

1 odpowiedź

0 głosów
odpowiedź 11 listopada 2018 przez Chess Szeryf (76,710 p.)
edycja 12 listopada 2018 przez Chess

 

Excess-3
             
             
             
             
             
             
             
             
             
Excess-3
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   

 

                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
Excess-3
        1   1111   1111   1110   0000
      0110   0101   0111   1000
    + 1001 + 1010 + 1011 + 0100
  0110   0000   0000   0100   0110
  0001   0000   0000   0010   1100
+ 0011 + 0011 + 0011 + 0011 - 0011
(2) 0100   0011   0011   0101   1001
(10) 1   0   0 , 2   6
(Excess-3) 4   3   3 , 5   9
                   
                   
                   

Jeśli nastąpiło przeniesienie z jednej grupy na drugą, to będzie taki znak "+", natomiast jeśli nie, to taki "-". Aczkolwiek, jeżeli przeniesienie nastąpiło na grupę, która nie istnieje (null), to znak będzie chyba zawsze taki "+", ale to trzeba sprawdzić. Jeśli jest to Excess-3, to albo dodajemy 0011 (3) albo odejmujemy 0011 (3).

Jeśli nastąpi przeniesienie (carry) na grupę bitów, które nie istnieją (null), to następna grupa bitów ma znak "+".

W skrócie:

Final Carry <-- 0 then subtraction

Final Carry <-- 1 then addition

Przykład:

5 + 6 = 11

         1000
       + 1001
____________
+ 0001 + 0001
+ 0011 + 0011
____________
  0100   0100

Na wikipedii jest tabela kodów, jaką cyfrę podstawić za 4 bity: https://en.wikipedia.org/wiki/Excess-3

Polecam także dokumentację Intel'a: https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf

Jak sprawdzać, to jakie bity odpowiadają jakiej cyfrze. A no tak:

Chcemy sprawdzić np. jaki jest kod dla cyfry 3, postępujemy więc tak:

3 + 3 = 6(10) = 0110(2)

Teraz już wiemy, że kod dla 3 to 0110 w Excess-3.

Gdy już się sprawdzi jaka cyfra, jaki ma kod to można podstawić do wzoru. I tak w kolumnie 4 i dalej na samej górze w 2 wierszu jest:

0110 = 3, 0101 = 2, 0111 = 4, 1000 = 5

Wyszła liczba 32.45.

1001 = 6, 1010 = 7, 1011 = 8, 0100 = 1

Liczba po złączeniu, to 67.81.

Zaznaczone na zielony kolor komórki, to przeniesienie (pożyczka) bitu. Na żółto rezultat - sprawdzenie, czy wynik się zgadza.

https://www.youtube.com/watch?v=tycdhh83v6E

https://www.youtube.com/watch?v=CXn4lxBlO2U

Jak sprawdzić, czy rezultat jest poprawny? A np. tak:

Z racji tego, że jest to kodowanie "do trzech", to do każdej cyfry z sumy 32.45 + 67.81 = 100,26 dodajemy cyfrę 3.

Przykład:

Checking Result
  1   0   0 , 2   6
+ 3 + 3 + 3 + 3 + 3
  4   3   3 , 5   9

https://eduinf.waw.pl/inf/alg/006_bin/0024.php

https://eduinf.waw.pl/inf/alg/006_bin/0012.php

https://pl.wikipedia.org/wiki/Complex_Number_Calculator

https://en.wikipedia.org/wiki/Binary-coded_decimal

Podobne pytania

0 głosów
1 odpowiedź 152 wizyt
pytanie zadane 18 stycznia 2023 w Systemy operacyjne, programy przez Mati336 Użytkownik (560 p.)
0 głosów
1 odpowiedź 94 wizyt
pytanie zadane 10 grudnia 2020 w Sieci komputerowe, internet przez IceBear Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 352 wizyt
pytanie zadane 9 maja 2020 w Sprzęt komputerowy przez Nicekovsky Dyskutant (9,820 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...