Dodaj do ulubionych

odejmowanie w sys. dwojkowym

IP: *.lanet.net.pl 07.02.06, 16:20
witam,

jaki powinien wyjsc wynik odejmowania liczby 111 od 10010?
w materialach szkoleniowych mam 1011 a mi wychodzi 10011
Obserwuj wątek
    • Gość: Szpaq Re: odejmowanie w sys. dwojkowym IP: 195.116.211.* 07.02.06, 17:13
      1011 dobrze masz w materialach
      • Gość: Szpaq Re: odejmowanie w sys. dwojkowym IP: 195.116.211.* 07.02.06, 17:15
        Przeciez 10011 jest wieksze od 10010 o 1, niewiem jak to wyliczyles
        • Gość: u2 Re: odejmowanie w sys. dwojkowym IP: *.lanet.net.pl 07.02.06, 17:33
          robie tak:
          1. 111 zamieniam na przeciwna (000) + 1 = 001
          2. dodaje 10010 + 001 i wychodzi 10011

          co jest nie tak?
          • Gość: Szpaq Re: odejmowanie w sys. dwojkowym IP: 195.116.211.* 07.02.06, 18:00
            Niewiem o co chodzi z ta zmiana na przeciwna i dodaniem 1 zerknij tu
            www.dwspit.polkowice.pl/~materialy/PMC/s-Systemy%20liczenia.pdf
            strona 13 jest tam normalne odejmowanie
            • Gość: u2 Re: odejmowanie w sys. dwojkowym IP: *.lanet.net.pl 07.02.06, 18:16
              mozesz to wyjasnic na moim przykladzie?
          • qandre Re: odejmowanie w sys. dwojkowym 07.02.06, 18:03
            Nie możesz w ten sposób wykonywać działań na liczbach które mają różną liczbę bitów.
            Musisz rozszerzyć 111 do 00111.
            • Gość: u2 Re: odejmowanie w sys. dwojkowym IP: *.lanet.net.pl 07.02.06, 18:18
              jesli rozszerze to mam 00111 czyli przeciwna 11000 +1 = 11001
              10010+11001=101011 czyli zle
              co robie zle?
              • Gość: u2 Re: odejmowanie w sys. dwojkowym IP: *.lanet.net.pl 07.02.06, 18:40
                a moze wynik jest prawidlowy tylko ze z racji ze operujemy na liczbach 5
                bitowych to wynik musi byc tez 5 bitowy czyli 01011 (a nie 101011) no i ponoc to
                zero na czwartym bicie mozna odrzucic.
                czy mam racje?
                • qandre Re: odejmowanie w sys. dwojkowym 07.02.06, 18:50
                  No właśnie. A o tym zerze musisz zawsze pamiętać nawet jeżeli nie jest napisane.
              • qandre Re: odejmowanie w sys. dwojkowym 07.02.06, 18:46
                Działania powinieneś wykonywać na liczbach o określonej długości. W Twoim
                przypadku możesz przyjąć długość 5.
                Wszystko co po działaniu "wychodzi" poza ten format ignorujesz (w Twoim
                przypadku jedynka z lewej strony) .
                Jeżeli wynik miałby być 6 bitowy (jak w Twoim przykładzie), składniki również
                musiałyby być 6 bitowe np. 010010 i 000111 itd. To kwestia przyjęcia pewnego
                formatu liczby. Dla tego typu działań nie możesz w dowolny sposób przyjmować
                długości liczby i pomijać początkowych zer.
                • Gość: u2 Re: odejmowanie w sys. dwojkowym IP: *.lanet.net.pl 07.02.06, 19:05
                  dziekuje bardzo

                  i jeszcze jedno pytanie
                  magazyn.uni.cc/wwsis/przeniesienia.jpg
                  w powyzszym linku jest dodawanie i tam sie glubie z przeniesieniem jedynki w 4
                  kolumnie od prawej
                  • qandre Re: odejmowanie w sys. dwojkowym 07.02.06, 19:43
                    Cóż, bez kartki i ołówka trudno to wyjaśnić.

                    Jeżeli zliczasz jedynki w kolumnie musisz ich liczbę przedstawić w postaci
                    dwójkowej (w pamięci), ponieważ liczby powyżej 3 mają długość większą niż dwa
                    bity ( 3 - 11 a już 4 - 100), zatem przeniesienie następuje nie tylko do
                    sąsiedniej kolumny ale także następnej (następnych).

                    Przykładowo jeżeli liczba jedynek w kolumnie wynosi 4 czyli 100, bit 0 (o
                    wartości 0) wpisujesz na dole jako wynik, bit 1(o wartości 0) przenosisz do
                    sąsiedniej kolumny, a bit 3 (o wartości 1) do następnej w lewo.

                    W podanym przykładzie. liczba jedynek w kolumnie drugiej (od prawej) = 2 czyli
                    10, zatem przenosisz jedynkę do kolumny trzeciej, w tej kolumnie liczba jedynek
                    (razem z przeniesioną) = 4 czyli 100, zero wpisujesz na dole, drugie zero
                    przenosisz do kolumny czwartej, a jedynkę do piątej. W ten sposób w kolumnie
                    czwartej masz cztery jedynki i przeniesione zero, razem 4 czyli 100, zatem zero
                    na dół, zero do piątej i jedynka do szóstej itd.
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka