Created
June 1, 2016 19:32
-
-
Save h00s/859958d77f1ea1a803f2b82a532b2c6f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 bitni registar | |
dvojni komplement | |
109 i 53 | |
Idemo te brojeve pretvoriti u dvojni komplement. | |
Budući da su to pozitivni brojevi, pretvorba nije teška, treba najlijeviji bit postaviti 0 (jer je broj pozitivan), a ostalih 7 bitova binarnu vrijednost tih brojeva. | |
P 64 32 16 8 4 2 1 | |
109 -> 0 1 1 0 1 1 0 1 | |
dakle: 01101101 | |
P 64 32 16 8 4 2 1 | |
53 -> 0 0 1 1 0 1 0 1 | |
dakle: 00110101 | |
Sada moramo zbrojiti ta dva binarna broja i to sto zbrojimo ce biti broj zapisan dvojnim komplementom. | |
01101101 | |
+ 00110101 | |
---------- | |
10100010 | |
0 + 0 = 0 | |
0 + 1 = 1 | |
1 + 1 = 0 i 1 dalje | |
1 + 1 + 1 = 1 i 1 dalje | |
Dobili smo broj: 10100010 | |
Broj je u dvojnom komplementu, prvi bit nam označava predznak. Budući da je prvi bit 1, znači da je broj negativan i njegovu vrijednost moramo dobiti tako da radimo negaciju broja i +1. | |
10100010 | |
-------- | |
neg 01011101 | |
01011101 | |
+ 00000001 | |
-------- | |
01011110 | |
64 32 16 8 4 2 1 | |
1 0 1 1 1 1 0 = 64 + 16 + 8 + 4 + 2 = 94 | |
vrijednost je 94 i predznak negativni, dakle rezultat je -94. | |
Čudno je, ali zbroj 109 i 53 daju negativan broj -94. Zašto? Ograničenje registra, premalo bitova... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment