Zaczynamy od reprezentacji liczb całkowitych. Przyjmijmy jako podstawowe jednobajtowe liczby w kodzie U2. Zadania:
1. Znajdź reprezentację binarną w U2 liczb (przykładowo:)
0 00000000
4 00000100
-4 11111100
-1 11111111
127 01111111
-127 10000001
-128 10000000
2. Jaką liczbę reprezentują (przykładowo)
00000101 5
01010101 85
10101010 -86 (jak się doda do poprzedniej to wyjdzie -1)
3. Liczby wymierne: znajdź reprezentację okresową liczb
1/128 0.0000001(0)
3/128 0.0000011(0)
1/7 0.(001)
3/11 0.(0100010111)
7/13 0.(1000010011101)
4. Liczby w kodzie binarnym o podstawie (-2)
Znajdź reprezentację w tym kodzie liczb z przedziału (-20..20):
+ -
0 0
1 1 11
2 110 10
3 111 1101
4 100 1100
5 101 1111
6 11010 1110
7 11011 1001
8 11000 1000
9 11001 1011
10 11110 1010
11 11111 110101
12 11100 110100
13 11101 110111
14 10010 110110
15 10011 110001
16 10000 111000
17 10001 111011
18 10110 111010
19 10111 111101
20 10100 111100
itd. Warto zwrócić uwagę na urodę reprezentacji liczb 11 oraz -10. :)
5. Napisz algorytm znajdujący taką reprezentację dla dowolnej liczby całkowitej
6. Napisz algorytm dodający jedynkę do liczby zapisanej w tym układzie - reprezentujemy liczbę w tablicy bitowej.
7. Porównaj dwie liczby dane w dwóch tablicach bitowych
8. Zaneguj liczbę zamazując wynikiem oryginalną wartość w tablicy bitowej