26 lines
1.6 KiB
Plaintext
26 lines
1.6 KiB
Plaintext
|
Zad 1.
|
||
|
a) 111111111111 = 2^12 - 1 = 4 095
|
||
|
b) 7777777 = 8^7 - 1 = 2 097 151
|
||
|
c) FFFFFFFFFF = 16^10 - 1 = 1 099 511 627 775
|
||
|
|
||
|
Zad 2.
|
||
|
Do katastrofy rakiety Arianne 5 doszło przez niedopatrzenie programistów, którzy nie usueli linii używanej w poprzedniej wersji rakiety (Arianne 4)
|
||
|
do określania jej pozycji w układzie współrzędnych. Ferelna linijka zawierała zmienną, przechowującą korektę prędkości w poziomie, która była
|
||
|
konwertowana z 64 biotowego floata na 16 bitowego inta. Gdy zmienna osiągneła maksymalną możliwą liczbę do zapisania na 16 bitach nastąpił overflow,
|
||
|
który doprowadził do zgłoszenia błędu. Oprogramowanie rakiety nie było przygotowane na tego typu sytuację, ponieważ po uruchonieniu zapasowego modułu określania
|
||
|
pozycji, ten również zgłosił błąd z powodu niezabezpieczenia przed overflowem liczby przechowywaną przez zmienną. Overflow pojawia się gdy podczas wykonywania
|
||
|
pewnych operacji artmetycznych chcemy zapisać liczbę większą niż pozwala nam na to dana zmienna.
|
||
|
|
||
|
Zad 3.
|
||
|
a) (1,111)2 * 2^101 = (1,875)10 * 2^-1 = (1,875)10 * 0,50 = 0,9375
|
||
|
b) (1,110)2 * 2^010 = (1,750)10 * 2^2 = (1,750)10 * 4 = 7
|
||
|
c) (1,101)2 * 2^110 = (1,625)10 * 2^-2 = (1,625)10 * 0,25 = 0,40625
|
||
|
|
||
|
Zad 4.
|
||
|
M i c h a l Z m u d z i n s k i
|
||
|
077 105 099 104 097 108 090 109 117 100 122 105 110 115 107 105
|
||
|
|
||
|
Zad 5.
|
||
|
a) Biały - RGB(11111111, 11111111, 11111111)
|
||
|
b) Szary - RGB(10000000, 10000000, 10000000)
|
||
|
c) Niebieski - RGB(00000000, 00000000, 11111111)
|