LISTA 2
ZADANIE 1
a) −674,581
10
=−1 ⋅ 674,581
10
=−1 ⋅ 10 1010 0010,1001 0100
2
=101 0101 1101,0110 1100
U2
=101 0101 1101,0110 1011
U1
=110 1010 0010,1001 0100
SM
b)
−0A ,12
16
=−1 ⋅ 0A ,12
16
=−1 ⋅ 0 1010,0001 0010=1 0101,1110 1110
U2
=1 0101,1110 1101
U1
=1 1010,0001 0010
SM
c) −3,012
8
=−1 ⋅ 3,012
8
=−1 ⋅ 011,000001010
2
=100,111110110
U2
=100,111110101
U1
=1011,000001010
SM
d) 34,56
10
=100010,10001111
2
=0100010,10001111
U2
=0100010,10001110
U1
=0100010,10001111
SM
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
1
/2
reszta
674
0
337
1
168
0
84
0
42
0
21
1
10
0
5
1
2
0
1
1
0
cyfra
*2
0,
581
1
162
0
324
0
648
1
296
0
592
1
184
0
368
0
736
/2
reszta
34
0
17
1
8
0
4
0
2
0
1
1
0
cyfra
*2
0,
56
1
12
0
24
0
48
0
96
1
92
1
84
1
68
1
34
e) 4,56
10
−4,56
10
=−0,006=−1⋅0,00000001
2
=1,11111111
U2
=1,00000001
SM
=1,11111110
U1
ZADANIE 2
a) 6745
U10
+ 8123
U10
= 94868
U10
SPRAWDZENIE: 6745
U10
+8123
U10
= -3255-1877 = -5132 =
94868
U10
wystąpił nadmiar bo jeśli nie zapiszemy cyfry rozszerzenia to wynik będzie miał
przeciwny znak
6745
U10
- 8123
U1 0
= 8622
U10
SPRAWDZENIE: 6745
U10
-8123
U10
= -3255+1877 = -1378 = 8622
U10
nadmiar nie wystąpił bo cyfra rozszerzenia nie jest potrzebna
b)
c)
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
2
cyfra
*2
0,
0066(6)
0
013(3)
0
02(6)
0
05(3)
0
10(6)
0
21(3)
0
42(6)
0
85(3)
1
70(6)
(9)
6
7
4
5
U10
+
(9)
8
1
2
3
U10
(9)
4
8
6
8
U10
(9)
6
7
4
5
U10
-
(9)
8
1
2
3
U10
(9)
8
6
2
2
U10
31,56
U10 +
84,23
U10
= 15,79
U10
nadmiar nie wystąpił
31,56
U10
- 84,23
U10
= 47,33
U10
nadmiar nie wystąpił
(0)
3
1,
5
6
U10
+
(9)
8
4,
2
3
U10
(0)
1
5,
7
9
(0)
3
1,
5
6
U10
-
(9)
8
4,
2
3
U10
(0)
4
7,
3
3
9,745
U10
+ 0,8(23)
U10
=0,568(23)
U10
nadmiar nie wystąpił
9,745
U10
- 0,8(23)
U10
=98,922(77)
U10
nadmiar nie wystąpił
(9) 9,
7
4
5
0
(0)
U10
+
(0) 0,
8
2
3
(2
3)
U10
0
0,
5
6
8
(2
3)
(9)
9,
7
4
5
0
(0)
U10
-
(0)
0,
8
2
3
(2
3)
U10
(9)
8,
9
2
2
(7
7)
d)
ZADANIE 4
Cytuję z książki J. Biernata: “Aby więc dokonać konwersji reprezentacji +2
k-1
na reprezentację U2, wystarczy zanegować
najwyższą pozycję (obliczyć jej dopełnienie).”
Skoro więc aby zamienić liczbę na U2 negujemy pierwszy bit a aby zmienić znak liczby w U2, negujemy cala liczbę i
dodajemy jeden, aby zmienić znak liczby w +2
k-1
wystarczy zanegować wszystkie bity poza najstarszym i dodać jeden.
a) 10101001 -> 11010111
b) 0101010 -> 010110
c) 1100001 -> 1011111
d) 00110101 -> 01001011
ZADANIE 5
a) NB
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
3
10011101 + 01111001 = 100010110
SPR:
11011101 + 10111101 = 110011010
SPR:
10011101 - 01111001 = 100100
SPR:
11011101 - 10111101 = 100000
SPR:
1
0
0
1
1
1
0
1
+
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
+
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
1
-
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
-
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
0
-
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
0
1
0
-
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
+
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
+
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
9,994
U10
+ 9,916
U10
= 9,910
U10
nadmiar nie wystąpił
9,994
U10
- 9,916
U10
= 0,078
U10
nadmiar nie wystąpił
(9)
9,
9
9
4
U10
+
(9)
9,
9
1
6
U10
(9)
9,
9
1
0
(9)
9,
9
9
4
U10
-
(9)
9,
9
1
6
U10
(0)
0,
0
7
8
b) U2
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
4
10011101 + 01111001 = 010110
SPR:
11011101 + 10111101 = 10011010
SPR:
10011101 - 01111001 = 100100100
SPR:
11011101 - 10111101 = 0100000
SPR:
(1) 1
0
0
1
1
1
0
1
+
(0) 0
1
1
1
1
0
0
1
(0) 0
0
0
1
0
1
1
0
(1) 1
1
0
1
1
1
0
1
+
(1) 1
0
1
1
1
1
0
1
(1) 1
0
0
1
1
0
1
0
(1) 1
1
0
1
1
1
0
1
-
(1) 1
0
1
1
1
1
0
1
(0) 0
0
1
0
0
0
0
0
(0) 0
0
0
1
0
1
1
0
-
(0) 0
1
1
1
1
0
0
1
(1) 1
0
0
1
1
1
0
1
(1) 1
0
0
1
1
0
1
0
-
(1) 1
0
1
1
1
1
0
1
(1) 1
1
0
1
1
1
0
1
(1) 0
0
1
0
0
1
0
0
+
(0) 0
1
1
1
1
0
0
1
(1) 1
0
0
1
1
1
0
1
(0) 0
0
1
0
0
0
0
0
+
(1) 1
0
1
1
1
1
0
1
(1) 1
1
0
1
1
1
0
1
(1) 1
0
0
1
1
1
0
1
-
(0) 0
1
1
1
1
0
0
1
(1) 0
0
1
0
0
1
0
0
c) U1
Podczas dodawania w U1 ewentualne przeniesienie z najstarszej pozycji dodajemy je na najmłodszej pozycji.
Zamiast odejmować, w U1 należy dodać negację.
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
5
10011101 + 01111001 = 010111
SPR (zamiast odejmować dodamy negację):
11011101 + 10111101 = 10011011
SPR (zamiast odejmować dodamy negację):
10011101 - 01111001 = 00100100
dodajemy negację odjemnika:
SPR (dodajemy odjemnik):
11011101 - 10111101 = 0100000
dodajemy negację odjemnika:
SPR:
1
0
0
1
1
1
0
1
+
0
1
1
1
1
0
0
1
(1) 0
0
0
1
0
1
1
0
+
1
0
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
+
1
0
1
1
1
1
0
1
(1) 1
0
0
1
1
0
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
+
0
1
0
0
0
0
1
0
(1) 0
0
0
1
1
1
1
1
+
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
+
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
+
0
1
0
0
0
0
1
0
1
1
0
1
1
1
0
1
0
0
1
0
0
1
0
0
+
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
0
0
0
+
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
+
1
0
0
0
0
1
1
0
(1) 0
0
1
0
0
0
1
1
+
1
0
0
1
0
0
1
0
0
d) SM
W tym systemie najstarszy bit jest bitem znaku (0 to “+” a 1 to “-”). Pozostałe bity są modułem (wartością bezwzględną)
liczby. Wszystkie operacje arytmetyczne wykonujemy na modułach.
Przy dodawaniu liczb o tych samych znakach dodajemy po prostu moduły a znak wyniku jest taki sam jak znak liczb.
Przy dodawaniu liczb o przeciwnych znakach, od większego modułu odejmujemy mniejszy a znak wyniku jest taki jak znak
większego z modułów.
Jeśli odejmujemy liczby o przeciwnych znakach to dodajemy moduły a znak jest taki jak pierwszej z liczb
Jeśli odejmujemy liczby o zgodnych znakach to postępujemy tak jak przy dodawaniu liczb o przeciwnych znakach.
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
6
10011101 + 01111001 = 0 1011100
pierwszy składnik ujemny, drugi dodatni,
od drugiego składnika odejmiemy pierwszy a wynik
będzie dodatni.
SPR (dodajemy dwa dodatnie moduły):
11011101 + 10111101 = 1 10011010
pierwszy i drugi składnik ujemny,
dodamy moduły a wynik będzie ujemny.
SPR (odejmujemy wyniku drugi składnik)
101011101
SD
= 11011101
SD
10011101 - 01111001 = 110010110
pierwszy składnik ujemny, drugi dodatni,
dodamy oba moduły a znak będzie ujemy
SPR:
11011101 - 10111101 = 10100000
pierwszy i drugi składnik ujemny,
od pierwszego składnika odejmiemy drugi a wynik
będzie ujemny
SPR (10100000-10111101, wynik ujemny)
1
1
1
1
0
0
1
-
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
+
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
+
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
1
-
0
1
1
1
1
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
0
0
+
0
0
1
1
1
0
1
1 1
1
1
1
0
0
1
1
0
0
1
0
1
1
0
-
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
-
0
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
0
-
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
e) “+2
8-1
-1”
Liczby w tym kodzie są “obciążone” o stałą wartość 2
7
-1=127 (01111111
2
). Oznacza to, że prawdziwa wartość liczby w tym
systemie jest mniejsza o 127.
Jeśli za W oznaczymy wartość rzeczywistą a za O obciążenie to łatwo zauważyć, że:
(W
1
+O)+(W
2
+O)= W
1
+
W
2
+2O = (W
1
+
W
2
+O) + O
Aby otrzymać poprawny wynik przy dodawaniu musimy więc odjąć obciążenie.
Podobnie jest przy odejmowaniu:
(W
1
+O)-(W
2
+O)= W1-W2
= (W1-W2+O) – O
Skąd widać, że przy odejmowaniu należy dodać obciążenie. Gdy odejmujemy od liczby mniejszej, liczbę większą warto jest
najpierw dodać obciążenie.
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
7
10011101 + 01111001 = 10010111
SPR:
11011101 + 10111101 = 100011011
SPR (choć to nie potrzebne, najpierw dodamy obciążenie):
10011101 - 01111001 = 10100011
SPR:
11011101 - 10111101 = 10011111
SPR:
1
0
0
1
1
1
0
1
+
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
-
0
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
1
0
1
+
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
-
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
0
1
1
1
0
1
-
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
+
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
-
0
1
1
1
1
0
0
1
0
0
0
1
1
1
1
0
+
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
+
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
-
1
0
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
1
+
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
-
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
1
+
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
0
-
0
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
-
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
+
0
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1
f) “+2
8-1
”
W systemie tym wszystkie działania wykonujemy tak samo, zmienia się jedynie wartość obciążenia i wynosi w tym
przypadku 2
7
=128 (10000000
2
)
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
8
10011101 + 01111001 = 10010110
SPR:
11011101 + 10111101 = 100011011
SPR:
10011101 - 01111001 = 10100011
SPR:
11011101 - 10111101 = 10011111
SPR:
1
0
0
1
1
1
0
1
+
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
-
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
+
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
-
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
-
1
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
+
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
-
0
1
1
1
1
0
0
1
0
0
0
1
1
1
0
1
+
1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
0
-
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
+
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
+
0
1
1
1
1
0
0
1
1
0
0
0
1
1
1
0
1
-
1
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
0
0
0
0
+
1
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
-
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
-
0
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
+
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
ZADANIE 6
a) 11101010..?
10011110..?
•
DODAWANIE:
By sprawdzić, czy wystąpi nadmiar w dodawaniu liczb w systemie U2 wystarczy rozważyć bity na lewo od ostatniego
miejsca w którym na pewno wystąpi przeniesienie (czyli tam gdzie dodajemy dwie jedynki). Musimy pamiętać, że w kodzie
U2 należy rozważyć lewostronne rozszerzenie liczby. Jeśli przeniesienia na dwóch najstarszych bitach jest takie samo,
nadmiar nie wystąpi.
Przeniesienie wystąpiło zarówno na przedostatnim jak i na ostatnim bicie. Nadmiar nie wystąpi.
•
ODEJMOWANIE
W odejmowaniu postępujemy podobnie jak w dodawaniu ale znajdujemy ostatnie miejsce pewnej pożyczki (tam gdzie od
cyfry 0 odejmujemy 1). Musimy teraz rozważyć wszystkie operacje na lewo od tego miejsca i zbadać pożyczkę na
najstarszym bicie. Jeśli ona nie wystąpi, nadmiaru nie będzie.
Pożyczka na najstarszym bicie nie wystąpiła. Nadmiar nie wystąpi.
b) 1011010..?
1001110..?
•
DODAWANIE
Przeniesienie wystąpiło na najstarszym bicie ale nie wystąpiło na na bicie młodszym. Oznacza to, że wystąpił nadmiar.
•
ODEJMOWANIE
Pożyczka na najstarszym bicie nie wystąpi więc nadmiaru nie będzie.
c) 011101..?
11011001..?
•
DODAWANIE:
Interesować nas będą jedynie dwa najstarsze bity (bo na nich wystąpi ostatnie pewne przeniesienie):
Przeniesienie wystąpiło zarówno na najstarszym jak i na młodszym bicie. Nadmiaru nie ma.
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
9
1 1 1 0 1 0 1 0
+
1 0 0 1 1 1 1 0
(1) 1 0 0 0 0
rozważamy jedynie 5 ostatnich bitów, reszta nie ma znaczenia
1 0 1 1 0
- 1 0 0 1 1
0 0 0 1 1
rozważamy jedynie 5 ostatnich bitów, reszta nie ma znaczenia
(0) 0 1
+ (1) 1 1
(0) 0 0 rozważamy jedynie dwa najstarsze bity
1 1 1 0 1 0 1 0
-
1 0 0 1 1 1 1 0
(0) 0 1 0 1
rozważamy jedynie 4 ostatnich bitów, reszta nie ma znaczenia
1 0 1 1 0 1 0
+
1 0 0 1 1 1 0
(1) 0
rozważamy jedynie 1 ostatnie bity, reszta nie ma znaczenia
•
ODEJMOWANIE:
Pożyczka pojawiła się na najstarszym bicie więc wystąpił nadmiar.
ZADANIE 7
“Kreska” nad liczbą oznacza liczbę do niej przeciwną (uzupełnienie w systemie uzupełnieniowym).
Liczby, na których będziemy operować są w systemie naturalnym więc liczbę przeciwną będziemy oznaczać po prostu
minusem przed nią (lub jego brakiem).
a) 6745 - 8123 = - (-6745+8123) = -1378
Wynik jest liczbą ujemną więc wystąpił nadmiar.
b) 9,745 – 0,823 = - (– 9,745 + 0,823) = - (- 8,922) = 8,922
Wynik jest liczbą dodatnią więc nadmiar nie wystąpił.
SPR:
8,922 + 0,823 = 9,745
c) 34,56 – 81,23 = - (- 34,56 + 81,23) = - 46,67
Wynik jest liczbą ujemną więc wystąpił nadmiar
d) 10011101
2
– 01111001
2
= - ( - 10011101
2
+ 01111001
2
) = - ( 101100011
U2
+ 001111001
U2
) = -( 1011100
U2
) =
= 100100
2
Liczba jest dodatnia. Nadmiar nie wystąpił.
SPR:
100100
2
+ 01111001
2
= 10011101
2
ZADANIE 8
•
Dowód mniej formalny i tylko dla liczb w systemie naturalnym:
Oznaczmy przez A liczbę o jeden większą niż największa możliwa do zapisania na m cyfrach (będzie ona miała cyfrę 1 na
m+1 bicie i same zera na młodszych bitach).
Jeśli pomnożymy dowolną liczbę przez liczbę A, wynikiem będzie ta sama liczba przesunięta dokładnie o m pozycji w lewo.
Oznacza to, że będzie ona miała o m cyfr więcej a skoro tak, to po pomnożeniu w ten sposób liczby m cyfrowych, w wyniku
otrzymamy liczbę posiadającą 2m cyfr.
Jeśli pomnożymy więc liczbę dowolną liczbę m cyfrową, przez inną dowolną liczbę m cyfrową (która musi być na pewno
mniejsza od A) to otrzymany wynik będzie mniejszy więc również zmieści się na 2m cyfrach.
•
Dowód bardziej formalny:
Największą liczbą zapisaną na m pozycjach w dowolnym systemie stałobazowym jest
m
-1. Kwadrat takiej liczby jest
równy: (
m
-1)
2
=
2m
-2
m
+1 a
2m
-2
m
+1 <
2m
-1 więc wynik zmieści się na 2m cyfrach. Oznacza to, że iloczyn
dowolnych liczb m cyfrowych zmieści się na 2m cyfrach.
ZADANIE 9
Rozwiązanie jest proste i znajduje się we wskazówkach do zadań więc nie ma sensu tego przepisywać.
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
10
(0) 0
- (1) 1
(0) 1
rozważamy jedynie najstarszy bit
ZADANIE A
Algorytm mnożenia w obiema metodami opisany jest w pliku mnozenieU2.pdf.
a) 110101
× 011011
b) 011101
×110111
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
11
Metoda z bitami rozszerzenia
Metoda przekodowywania iloczynów częściowych:
1
1
0
1
0
1
× 0 1 1 0 1 1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
+
1
1
1
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
1
0 1
0
1
× 0 1 1 0
1
1
0
1
0 1
0
1
0
1
0
1 0
1
1
0
0
0
0 0
0
1
0
1
0
1
0
1
0
1
0
1
+
1
0
0
0
0
1
1
1
0
1
1
0
1
0 1
1
1
Metoda z bitami rozszerzenia
Metoda przekodowywania iloczynów częściowych:
0
1
1 1
0
1
× 1 1 0 1
1
1
1
1
1 1
0
1
1
1
1
1 0
1
1
1
1
1
0 1
1
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
1
1
1
1
1 0
1
1
0
1
1
1
0
1
× 1 1 0 1 1 1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
c) 101001×111111
d) 1101010×1111101
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
12
Metoda z bitami rozszerzenia
Metoda przekodowywania iloczynów częściowych:
1
0
1 0
0
1
× 1 1 1 1
1
1
0
0
1 0
0
1
0
0
1
0 0
1
0
0
1
0
0 1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0 1
1
1
1
0
1
0
0
1
× 1 1 1 1 1 1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
Metoda z bitami rozszerzenia
Metoda przekodowywania iloczynów częściowych:
1
1
0
1
0
1
0
× 1 1 1 1 1 0 1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
1
0
× 1 1 1 1 1 0 1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
ZADANIE B
Mnożenie liczb dodatnich w systemie dwójkowym polega właśnie na dodawaniu przesuniętych mnożników wszędzie tam
gdzie w mnożnej jest 1.
W przypadku liczb ujemnych (które możemy otrzymać przy odejmowaniu potęg dwójki) musimy jednak dodać uzupełnienie
mnożnika więc wydaje mi sie, że stwierdzenie to jest błędne i nie da się go udowodnić.
ZADANIE C
Algorytm mnożenia opisany jest w dokumencie mnozenieUzup.pdf
a)
b)
c)
d)
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
13
0
3
2
5
5
9
9
9
9
6
7
4
5
×
9
8
1
2
3
9
9
9
9
9
9
0
2
3
5
9
9
9
9
9
3
4
9
0
9
9
9
9
6
7
4
5
9
9
7
3
9
6
0
0
0
3
2
5
5
0
0
0
6
1
0
9
6
3
5
0
0
2
5
5
9
9
9
9
9
7
4
5
×
0
0
8
2
3
9
9
9
9
9
9
9
2
3
5
9
9
9
9
9
9
4
9
0
9
9
9
9
7
9
6
0
9
9
9
9
7
9
0
1
3
5
9
6
8
5
4
0
0
0
0
3
1
5
6
×
9
8
4
2
3
0
0
0
0
0
0
9
4
6
8
9
9
9
9
9
6
3
1
2
0
0
0
1
2
6
2
4
0
0
2
5
2
4
8
9
9
6
8
5
4
9
9
9
5
0
2
2
9
8
8
0
0
0
6
9
9
9
9
9
9
9
4
9
9
9
1
6
9
9
9
9
9
9
9
9
6
4
9
9
9
9
9
9
9
9
4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
0
4
e)
f)
g)
h)
Krzysztof Adamski :: http://mr-k.namyslow.eu.org/
14
0
2
0
3
3
7
7
7
7
5
7
4
5
×
7
7
1
2
3
7
7
7
7
7
6
1
6
5
7
7
7
7
7
7
3
7
1
2
7
7
7
7
5
7
4
5
7
7
6
1
5
0
3
0
0
2
0
3
3
0
0
0
1
5
5
0
4
7
7
7
7
7
7
7
7
4
5
×
0
0
7
2
3
7
7
7
7
7
7
7
6
5
7
7
7
7
7
7
7
7
1
2
7
7
7
7
7
5
0
3
7
7
7
7
7
4
7
2
7
7
7
4
6
2
2
0
0
0
0
3
1
5
6
×
7
6
4
2
3
0
0
0
0
0
1
1
5
1
2
0
0
0
0
0
6
3
3
4
0
0
0
1
4
6
7
0
0
0
1
3
2
2
4
7
7
4
6
2
2
7
7
6
3
2
3
0
0
5
2
0
0
0
0
4
7
7
7
7
7
7
7
4
×
7
7
7
1
6
7
7
7
7
7
7
7
7
5
0
7
7
7
7
7
7
7
7
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
1
0