1 / 11

Informatyka I Język ANSI C

Informatyka I Język ANSI C. Kody pozycyjne. Liczby ca ł kowite Interpretacja notacji. ( x n x n-1 x n-2 .... x 1 x 0 ) p = = x n • p n + x n-1 • p n-1 + x n-2 • p n-2 + ... x 1 • p + x 0 Przykład: 152 10 = 1 • 100 + 5 • 10 +2 • 1 = 152 152 8 = 1 • 64 + 5 • 8 + 2 = 106

isi
Download Presentation

Informatyka I Język ANSI C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatyka IJęzyk ANSI C Kody pozycyjne

  2. Liczby całkowiteInterpretacja notacji (xnxn-1xn-2....x1x0)p= = xn•pn + xn-1•pn-1 + xn-2•pn-2 + ... x1•p + x0 Przykład: 15210 = 1•100 + 5•10 +2•1 = 152 1528 = 1•64 + 5•8 + 2 = 106 15216 = 1•256 + 5•16 + 2 = 338 1522 = ERROR!!

  3. Więcej przykładów

  4. Procedury zamiany kodów • Przejście z kodu dwójkowego na heksadecymalny Grupujemy od końca zera i jedynki w paczki po cztery i wyzna-czamy wartość każdej paczki jako jedną pozycję zapisu • Przejście z kodu heksadecymalnego na dwójkowy Każdą cyfrę z zapisu szesnastkowego zamieniamy na liczbę za-pisaną w kodzie dwójkowym na czterech pozycjach • Przejście z kodu dwójkowego na ósemkowy Grupujemy od końca zera i jedynki w paczki po trzy i wyznacza-my wartość każdej paczki jako jedną pozycję zapisu • Przejście z kodu ósemkowego na dwójkowy Każdą cyfrę z zapisu oktalnego zamieniamy na liczbę zapisaną w kodzie dwójkowym na trzech pozycjach

  5. Algorytm przejścia do kodu o podstawie p Przykład • dzielimy przekształcaną liczbę przez p dopóki nie uzyskamy 0 • zapamiętujemy reszty z kolej-nych dzieleń • zapisujemy zapamiętane reszty w kolejności od końca

  6. Dobrze wiedzieć... • Należy znać potęgi dwójki przynajmniej od 21do 216 oraz 232=4 294 967 296 • Definicja 1B=8 bitów = 23bitów • Definicja 1kB=210B=1024B (ca 1000 B) • Związek pomiędzy rozmiarem rejestru (adresu) a wymiarem pamięci operacyjnej: 2B =16 bitów  216B=26kB=64kB

  7. Operacje Arytmetyczne • Mnożenie • Dodawanie Mnożenie przez 2 - przesunięcie w lewo z dopisaniem 0 • 11*2=22 <=> 1011*10=10110 Dzielenie przez 2 - przesunięcie w prawo z wypadaniem najmłodszego bitu 11/2=5 <=> 1011/10=101

  8. Arytmetyka uzupełnieniowa do dwóch2's Complementary Arithmetic Jest to sposób na uwzględnienie liczb ujemnych. Specjalny kod zapisu pozwala sprowadzić odejmowanie liczb całkowitych do ich dodawania: x – y = x + (-y) ALGORYTM ZMIANY ZNAKU x  -x 1. zamieniamy wszystkie zera najedynki i odwrotnie 2. Dodajemy 1

  9. Przykłady c.d. • Obliczamy wartość wyrażenia 11 – 5. Wszystkie operacje na jednym bajcie. WŁASNOŚĆ NOTACJI Najstarszy bit jest bitem znaku 1 – liczba ujemna • Obliczamy wartość wyrażenia 100+90. Wszystkie operacje na jednym bajcie. WNIOSEK Wynik obliczeń: 100 + 90 = -66 Ciekawostka: 100 + 90 + 66 =256 = 28

  10. WŁASNOŚCI KONWENCJIdodajemy 1 • Tabela ma 28 = 256 wierszy (i wartości) • Interpretacja zależy od przyjętej konwencji • W arytmetyce bez-względnej: 0  255 • W arytmetyce uzupeł. do dwóch: -128  127 • Na dwóch bajtach można zapamiętać 216 = 65536 wartości • Bezwg: 0  65535 • 2’s: -32768  32767

  11. LICZBY RZECZYWISTE • Zapis w postaci p2m, p – precyzja, m – mantysa; • p ma postać0.1.... w związku z tym trzech początko-wych symboli się nie zapamiętuje bo zawsze są takie same. Zamiast tego zapamiętuje się znak; • m jest zwiększane o połowę zakresu, tak aby było zawsze nieujemne; • Wniosek: Wcale nie jest tak łatwo pomnożyć liczbę rzeczywistą przez liczbę zapisaną w arytmetyce uzu-pełnieniowej do dwóch (jak się jest komputerem).

More Related