Odejmowanie mniejszej liczby binarnej od większej

noctum
Użytkownik
Użytkownik
Posty: 21
Rejestracja: 8 cze 2015, o 13:16
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 15 razy

Odejmowanie mniejszej liczby binarnej od większej

Post autor: noctum »

Witam, za nic nie mogę tego ogarnąć, na internecie też brak rozwiązań, które bym rozumiał, więc jak rozwiązać taki przykład?

\(\displaystyle{ 111110010011
- 1101011011100
=(?)}\)



Dodatkowo rozwiązanie muszę napisać jako wynik heksadecymalny ale to powinienem dać radę bez problemu.
Awatar użytkownika
Igor V
Użytkownik
Użytkownik
Posty: 1605
Rejestracja: 16 lut 2011, o 16:48
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 18 razy
Pomógł: 604 razy

Odejmowanie mniejszej liczby binarnej od większej

Post autor: Igor V »

Stricte binarnie tego nie odejmiesz, bo pojawi się niedomiar. Do dobrego odejmowania potrzebujesz żeby zakodować liczbę ujemną, więc systemu np: ZM(nienaturalna arytmetyka), U1 albo U2.-- 11 lis 2016, o 20:18 --PS
Chyba większej od mniejszej.
Gouranga
Użytkownik
Użytkownik
Posty: 1588
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 245 razy

Odejmowanie mniejszej liczby binarnej od większej

Post autor: Gouranga »

wyciągnij minus przed nawias, odejmij mniejszą od większej, wynik zakoduj w ZM, U1 albo U2
\(\displaystyle{ 111110010011 - 1101011011100 = - (1101011011100 - 111110010011)\\
\\
1101011011100 - 111110010011 = 101101001001\\
-0101101001001 = (1010010110111)_{U2}\\}\)


a na zamianę z binarnego na hex jest prosty trik:
\(\displaystyle{ 1011\quad 0100\quad 1001 = 0xB49}\)
dzielisz wejściową liczbę po 4 bity od prawej i po kolei zamieniasz te czwórki na hexy, czwórkami bo zamieniasz z dwójkowego na szesnastkowy a \(\displaystyle{ \log_2 16 = 4}\)
ODPOWIEDZ