Kod BCD Plus3

Awatar użytkownika
czeslaw
Użytkownik
Użytkownik
Posty: 2156
Rejestracja: 5 paź 2008, o 22:12
Płeć: Mężczyzna
Lokalizacja: Politechnika Wrocławska
Podziękował: 44 razy
Pomógł: 317 razy

Kod BCD Plus3

Post autor: czeslaw »

Dodawanie w tym systemie - kiedy użyć korekt?
Przykład:

Dodać liczby \(\displaystyle{ X=31,72, Y=68,63}\).

Koduję:
\(\displaystyle{ \quad (X)_{\mbox{Plus3}} = 0110 \ 0100 ,\ 1010 \ 0010 \\ + (Y)_{\mbox{Plus3}} = \underline{ 1001 \ 1011, \ 1001 \ 0110} & & \\ = \qquad \qquad \ \ 1 \ 0000 \ 0000 , \ 0011 \ 1000}\)

Oczywiście, poprawny wynik to liczba \(\displaystyle{ Z = 100,35}\), jej reprezentacja w systemie BCD Plus3 to:
\(\displaystyle{ 0100 \ 0011 \ 0011 , \ 1001 \ 1000}\)

Aby przejść do tego wyniku, trzeba użyć korekt, ale nie wiem według jakich zasad i nie mogę do tego dojść.
abc666

Kod BCD Plus3

Post autor: abc666 »

A nie powinno być wyniku \(\displaystyle{ 0100 \ 0011 \ 0011 , \ 0110 \ 1000}\) ?

Robiąc analogicznie jak w zwykłym BCD musi być korekcja jeśli mamy wyniki [0-2] lub [13-15]. Korekcja musi też następować jeśli przenosimy do grupy następnej.
Idąc od prawej. Pierwsza grupa jest ok nic nie robimy. Druga grupa to 0110 ale przenieśliśmy do następnej grupy więc dodajemy 3. Dostajemy 1001. Z kolejnych 2 grup też przenosimy więc dodajemy 3 do obu. Najbardziej na lewo grupa ma wartość 1 więc także dodajemy 3 i jest wszystko ok.

Chyba w ogólności powinno tak działać.
ODPOWIEDZ