Spis treści

Architektury systemów komputerowych - Lista 7.

Program bc jest zdefiniowanym przez standard POSIX kalkulatorem o składni podobnej do tej z języka C. Można w nim (między innymi) w łatwy sposób konwertować wartości pomiędzy różnymi radiksami:

obase=2
ibase=16
F43.12E
111101000011.0001001010

Uwaga, jeśli zmienimy ibase (input base) to wszystkie wpisywane liczby będą interpretowane w tym radiksie. Oto przykład:

ibase=2
obase=10
1001
1001

(10_2 == 2_{10}). Cyfry heksadecymalne muszą być wielkimi literami (małe litery to zmienne).

Zadanie 1.

radix 2 radix 10 radix 16
10'1111.0(1001) 47.3 2F.4(C)
1111'0011'1110'0100'.0101'0001 62436.62890625 F3E4.A1
10'0110.1011 38.6875 26.B

Zadanie 2.

Matematycznie:
Część całkowita zawsze wyraża się skończoną liczbą cyfr. Rozważmy część ułamkową.
0.a_1a_2a_3a_4…a_n = \sum_{i=1}^n2^{-i}a_i = \sum_{i=1}^n2^{-i}5^{-i}5^ia_i = \sum_{i=1}^n10^{-i} 5^i a_i = \sum_{i=1}^n \frac{5^i a_i}{10^i}
Suma liczb, które w mianowniku mają potęgę 10 ma oczywiście skończone rozwinięcie dziesiętne. To zadanie wyjaśnia również, dlaczego ujemne potęgi dwójki wyglądają jak potęgi piątki (0.5, 0.25, 0.125…)

Zadanie 3.

Zadanie 4.

011'00110 + 101'01110 = 101'10111

Zadanie 5.

Zadanie 6.

Zadanie 7.

Zadanie 8.

liczba znak wykladnik mantysa
0.5 0 126 (-1) (1)0
-17 1 127 (0) (1)0001
-1/32 1 122 (-5) (1)0
384 0 134 (7) (1)1

Zadanie 9.

Zadanie 10.

Zadanie 11.