Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

B. znaki alfabetu D. obrazy

Podobne prezentacje


Prezentacja na temat: "B. znaki alfabetu D. obrazy"— Zapis prezentacji:

1 B. znaki alfabetu D. obrazy
REPREZENTACJA DANYCH A. liczby C. dźwięki B. znaki alfabetu D. obrazy ·       pozycyjny zapis liczb Lp = a0p0 + a1p1 + a2p // Lp >= 0 p : podstawa systemu liczenia a0 , a1 , a2 , ... cyfry // p cyfr kolejność zapisu : ...a2a1a0

2 ·       liczby binarne p = 2 L2 = 1a0 + 2a1 + 4a2 + 8a3 + 16a4 + 32a5 + 64a6 + 128a a a a np. = 1 * 0 + 2 * 0 + 4 * 1 + 8 * 1 + 16 * 0 + 32 * 1 = 4410 bit : ilość informacji, cyfra binarna bajt = 8 bitów (cyfr binarnych)

3 A.    Znaki alfabetu ·    za pomocą liczb binarnych ·    kod ASCII – 8-bitowy (0  255) ·       000  standard ·       128  znaki narodowe, specjalne ·       przestarzały, brak NL, strzałek itp. ·    UNICODE : UTF-8, UTF-16, UTF-32 (www.unicode.org) 0kkkkkkk kkkkk 10kkkkkk kkkk 10kkkkkk 10kkkkkk kkk 10kkkkkk 10kkkkkk 10kkkkkk

4 B.    Liczby Liczby całkowite bez znaku ·       ciągi binarne n-elementowe 0  (2n – 1) 8 b – B –  255 16 b – B –  32 b – B –  64 b – 8 B – 

5 ·       przeliczanie BIN  DEC : ze wzoru na wartość liczby Lp = a0p0 + a1p1 + a2p p = 2 L2 = 1a0 + 2a1 + 4a2 + 8a3 + 16a4 + 32a5 + 64a6 + 128a a a a np. = 1*0 + 2*0 + 4*1 + 8*1 + 16*0 + 32*1 = 4410 ·       im mniejsza podstawa tym mniej różnych cyfr ale więcej pozycji w liczbie o takiej samej wartości

6 DEC  BIN : dzielenie przez 2
44       0 22       = 11       1 5       1 2       0 1       1

7 · łatwiej przeliczać gdy p = 2m m = 3 system ósemkowy, cyfry 0  7
OCT BIN 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 = 54038 =

8 m = 4 system, heksadecymalny (hex), szesnastkowy
cyfry 0  9, A, B, C, D, E, F HEX BIN DEC 8 1000 9 1001 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15 = 9E0F16 AB7DE16 =

9 Liczba całkowita bez znaku w rejestrze
1 bajt

10  Arytmetyka liczb binarnych całkowitych bez znaku
·       dodawanie i odejmowanie jak dla dziesiętnych – – 26 przeniesienie pożyczka ( nadmiar lub bit ( niedomiar lub bit dodawany do odejmowany od starszej części starszej części liczby ) liczby )

11 · mnożenie : dodawanie z przesunięciem A = 1001; // 9
B = 1011; // 11 Iloczyn = 0; Ile = Length(B); for( int i = 0 ; i < Ile; ++i) { if (B[i]) == 0 C = 0; else C = A; Iloczyn = Iloczyn + C; A = A << 1; } // wynik podwójnej długości

12 dzielenie : wielokrotne odejmowanie A = 1010; // 10
B = 0011; // 3 Iloraz = 0; while ( ! Koniec) { C = A - B; if ( C > 0 ) Iloraz ++ ; A = A – B; } else Koniec = true; Reszta = C + B;

13 Liczby całkowite ze znakiem · znak – moduł
– 127  – 0 znak moduł 0                 1

14 ·   znak – moduł rzadko stosowany bo trudne + –
a + b  a.Z | a.M + b.Z | b.M 1.  a.Z = b.Z  a.Z | ( a.M + b.M ) 2.  a.Z  b.Z a.M > b.M a.M  b.M a.Z | ( a.M – b.M ) b.Z | ( b.M – a.M )

15 · uzupełnienie do 2 (Uzp2)
liczby liczby –

16 + 1 – 7 + 2 – 6 + 3 – 5 + 4 – 4 + 5 – 3 + 6 – 2 + 7 – 1   – 8

17 · liczba 4–bitowa Uzp2  – 8  + 7
· obliczanie liczby przeciwnej dla Uzp2 ~ – 5 – 5 ~

18 · dodawanie i odejmowanie niezależne od znaków  wynik poprawny, gdy nie ma nadmiaru
(– 5 )   przeniesienie (pomijamy) · zamiast odejmowania, dodawanie liczby przeciwnej 4 – 6 = (– 6 ) (– 6 ) – 2

19 ·       wykrywanie nadmiaru dla znak – moduł nadmiar, gdy przeniesienie na bit znaku = 1 // -1

20 dla Uzp2 – – – – OV OV OK OK Cz = Cz = Cz = Cz = 0 Cs = Cs = Cs = Cs = 0 Cz + Cs = 1  nadmiar (Cz różne od Cs)

21 Liczby niecałkowite · zapis stałopozycyjny . . . . . . liczba całkowita ułamek . . . a2p2 + a1p1 + a0p0 + a-1p-1 + a-2p konwersja binarno – dziesiętna = 1*22 + 0*21 + 1*20 + 0*2-1 * 1*2-2 = ¼ = 5¼ = 5.25

22 konwersja dziesiętno – binarna
* 2 0 86 1 72 1 44 = 1 76 1 52 1 04 0 08 .

23 16b b liczba całkowita ułamek 4 cyfry cyfry dziesiętne dziesiętne ·       dodawanie i odejmowanie jak dla liczb całkowitych bez znaku (znaki ew. jako odrębne bity) ·      mnożenie i dzielenie  algorytmy iteracyjne prostsze niż dla liczb zmiennopozycyjnych

24 ·       zapis zmiennopozycyjny
m * pc       p = 10 1.57* E12   normalizacja 125.78E5 12.578E E8 12578E3       

25 p = 2 , standard IEEE 754 01...00  – 3 cecha 01...01  – 2
s c m  – 3 cecha  – 2 przesunięta  – 1  0  1 znak liczby  2 0   3 1  –  4

26 ·    mantysa znormalizowana (m) ma zawsze postać
1.xxxxxxxx....xxxxx (  ) początkowa jedynka nie jest pamiętana ≤ m < · przykłady –  NaN  s a x ... x // x ... x != 0 Inf  s a x ... x // x ... x == 0

27 · reprezentowane wartości
1|1..1| |0..01| |0..0| |0..01| |1..1|1..1 ujemne zero dodatnie 2n n n n  liczba cyfr mantysy

28       · dla n = 52 odległość pomiędzy reprezentowanymi liczbami wynosi:
c = 0  e-16 c = 1  e-16 c = 52  1 c = 150  e+29     ·     typy liczb zmiennopozycyjnych half : b 1 / 5 / 2.3 E  cyfry single : b 1 / 8 / 3.4 E  cyfr double : b 1 / 11 / 1.7 E  cyfr quadruple : b 1/ 112 / 15 5.3 E  cyfry

29 Arytmetyka zmiennopozycyjna
      mnożenie  mnożenie mantys, sumowanie cech, normalizacja       dzielenie  dzielenie mantys, odejmowanie cech, normalizacja       dodawanie  wyrównanie cech, dodawanie, normalizacja       odejmowanie wyrównanie cech, odejmowanie, normalizacja

30     ·     dla 3 cyfr dokładnych 0.375 * * = 0.375 * * 105 = * 105  * 105 ·    sposób sumowania trzech liczb zmiennopozycyjnych aby błąd był najmniejszy ·      obliczenia zmiennopozycyjne na odpowiedzialność programisty

31 EAX|ECX + EBX|EDX : ADD ECX, EDX // Carry ADC EAX, EBX // + Carry
·       Super Integer Asembler EAX|ECX + EBX|EDX : ADD ECX, EDX // Carry ADC EAX, EBX // + Carry __asm { __asm add ecx, edx __asm adc eax, ebx }; EAX EBX ECX EDX

32 Język C long long X[2], Y[2], Z[2] ; Z[1] = X[1] + Y[1] ; // Carry ? Super Integer : p = 10000 CSI CSI CSI CSI znak 2B 2B 2B B 2B LSD MSD SIGN SupInt


Pobierz ppt "B. znaki alfabetu D. obrazy"

Podobne prezentacje


Reklamy Google