Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

REPREZENTACJA DANYCH A. liczby C. dźwięki B. znaki alfabetu D. obrazy pozycyjny zapis liczb L p = a 0 p 0 + a 1 p 1 + a 2 p 2 +... // L p >= 0 p : podstawa.

Podobne prezentacje


Prezentacja na temat: "REPREZENTACJA DANYCH A. liczby C. dźwięki B. znaki alfabetu D. obrazy pozycyjny zapis liczb L p = a 0 p 0 + a 1 p 1 + a 2 p 2 +... // L p >= 0 p : podstawa."— Zapis prezentacji:

1 REPREZENTACJA DANYCH A. liczby C. dźwięki B. znaki alfabetu D. obrazy pozycyjny zapis liczb L p = a 0 p 0 + a 1 p 1 + a 2 p // L p >= 0 p : podstawa systemu liczenia a 0, a 1, a 2,... cyfry // p cyfr kolejność zapisu :...a 2 a 1 a 0

2 liczby binarne p = 2 L 2 = 1a 0 + 2a 1 + 4a 2 + 8a a a a a a a a np =1 * * * * * * 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) standard znaki narodowe, specjalne przestarzały, brak NL, strzałek itp. UNICODE : UTF-8, UTF-16, UTF-32 (www.unicode.org)www.unicode.org 0kkkkkkk 110kkkkk 10kkkkkk 1110kkkk 10kkkkkk 10kkkkkk 11110kkk 10kkkkkk 10kkkkkk 10kkkkkk

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

5 przeliczanie BIN DEC : ze wzoru na wartość liczby L p = a 0 p 0 + a 1 p 1 + a 2 p p = 2 L 2 = 1a 0 + 2a 1 + 4a 2 + 8a a a a a a a a np = 1*0 + 2*0 + 4*1 + 8*1 + 16*0 + 32*1 = im mniejsza podstawa tym mniej różnych cyfr ale więcej pozycji w liczbie o takiej samej wartości

6 DEC BIN : dzielenie przez =

7 łatwiej przeliczać gdy p = 2 m m = 3 system ósemkowy, cyfry 0 7 OCT BIN = =

8 m = 4 system, heksadecymalny (hex), szesnastkowy cyfry 0 9, A, B, C, D, E, F HEX BIN DEC A B C D E F = 9E0F 16 AB7DE 16 =

9 Liczba całkowita bez znaku w rejestrze bajt

10 Arytmetyka liczb binarnych całkowitych bez znaku dodawanie i odejmowanie jak dla dziesiętnych – – 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ł znak moduł – – – 0

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 – – – – – – – – 8

17 liczba 4–bitowa Uzp2 – obliczanie liczby przeciwnej dla Uzp ~ – – 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 = 4 + (– 6 ) (– 6 ) – 2

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

20 dla Uzp – – – – OV OV OK OK C z = 0 C z = 1 C z = 1 C z = 0 C s = 1 C s = 0 C z + C s = 1 nadmiar (C z różne od C s)

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

22 konwersja dziesiętno – binarna 0 43 * =

23 liczba całkowita ułamek 16b 16b 4 cyfry. 4 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 = * E12 normalizacja E E E E3

25 p = 2, standard IEEE 754 s c m znak liczby – – 3 cecha – 2 przesunięta –

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|1..1 1|0..01|0..0 0|0..0|0..0 0|0..01|0..0 0|1..1|1..1 ujemne zero dodatnie n 2 n 2 n n liczba cyfr mantysy

28 dla n = 52 odległość pomiędzy reprezentowanymi liczbami wynosi: c = e-16 c = e-16 c = 52 1 c = e+29 typy liczb zmiennopozycyjnych half : 16b 1 / 5 / E 4 3 cyfry single : 32b 1 / 8 / E 38 7 cyfr double : 64b 1 / 11 / E cyfr quadruple : 128b 1/ 112 / 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 * * = * * 10 5 = * * 10 5 sposób sumowania trzech liczb zmiennopozycyjnych aby błąd był najmniejszy obliczenia zmiennopozycyjne na odpowiedzialność programisty

31 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 = CSI CSI CSI.... CSI znak 2B 2B 2B.... 2B 2B LSD MSD SIGN SupInt


Pobierz ppt "REPREZENTACJA DANYCH A. liczby C. dźwięki B. znaki alfabetu D. obrazy pozycyjny zapis liczb L p = a 0 p 0 + a 1 p 1 + a 2 p 2 +... // L p >= 0 p : podstawa."

Podobne prezentacje


Reklamy Google