Czasami, jeśli suma dwóch cyfr wynosi <10, dodawanie BCD jest podobne do dodawania binarnego.
Ale czasami, jeśli suma> 9, wynik wymaga korekty. Ta korekta to + (0110).
Dlaczego dodajemy 6? Dlaczego nie jakiś inny numer? Przeszukałem internet, ale nie rozumiem.
Jeśli potrzebujesz linków do tego pytania, które były zadawane w przeszłości:
digital-logic
moje wwe
źródło
źródło
Odpowiedzi:
Cztery cyfry binarne liczą do 15 (1111), ale w BCD używamy tylko reprezentacji do 9 (1001). Różnica między 15 a 9 wynosi 6. Jeśli chcesz, aby 9 + 1 wytworzyło 10, czyli 1 0000, musisz dodać 6, aby 1010 zawinąć do 1 0000.
Jeśli dodajesz minuty, podobnie dodajesz 40 do czasu, który przekracza 59 minut. Przykład: 45 minut plus 35 minut to 80 minut. Korekta, dodaj 40, aby uzyskać 120. Teraz wstaw dwukropek: 1:20. Godzina, dwadzieścia minut. 40 to różnica między 100 a 1:00.
źródło
Odnosi się do reprezentacji liczb uzupełniających dwa.
https://en.wikipedia.org/wiki/Two%27s_complement
Jeśli chcesz odjąć B od A (A - B), możemy dodać (-B) do A alternatywnie (A + (- B)).
Jeśli suma> 10, potrzebujemy 4 najmniej znaczących cyfr sumy do reprezentacji BCD, dlatego powinniśmy odjąć 10 od sumy.
Uzupełnienie 2 dla 10 na 5 bitów wynosi (Ten = 01010), dlatego gdy chcemy odjąć 10 od liczby, możemy dodać (-Ten) do liczby, która reprezentuje w 2 'uzupełnienie jako (10110).
Dodawanie BCD jest jak 4-bitowy sumator binarny, co oznacza, że potrzebujemy 4 najmniej znaczących bitów (-Ten) {0110 = # 6}, aby dodać go do sumy.
źródło