Professional Documents
Culture Documents
Dane I Dzialania
Dane I Dzialania
Podstawy Informatyki
————————————————————————————————————————
Semestr 1 AiR
Dane i działania
Spis treści
DANE I DZIAŁANIA......................................................................................................................................................................................................................3
1.1 REPREZENTACJA DANYCH................................................................................................................................................................................................................3
1.2 RODZAJE DZIAŁAŃ.........................................................................................................................................................................................................................7
1.3 NATURALNY KOD BINARNY.............................................................................................................................................................................................................8
1.4 KOD UZUPEŁNIEŃ DO DWÓCH........................................................................................................................................................................................................12
1.5 KOD UZUPEŁNIEŃ DO 1................................................................................................................................................................................................................19
1.6 KOD ZNAK – MODUŁ...................................................................................................................................................................................................................22
1.6 ZADANIA...................................................................................................................................................................................................................................23
1.7 PRZESUNIĘCIE BITOWE..................................................................................................................................................................................................................25
1.8 LICZBY ZMIENNOPRZECINKOWE (ZMIENNOPOZYCYJNE).......................................................................................................................................................................27
1.9 RACHUNEK ZMIENNOPOZYCYJNY....................................................................................................................................................................................................33
1.10 STANDARD IEEE LICZB ZMIENNOPRZECINKOWYCH.........................................................................................................................................................................35
LITERATURA................................................................................................................................................................................................................................41
2
Podstawy Informatyki
Dane i działania
Dane i działania
- kody rozkazów,
- dane systemowe,
- dane użytkowe.
Dane użytkowe
Typy skalarne
- logiczne (boolean)
- znakowe (character)
4
Podstawy Informatyki
Dane i działania
- opisowe.
- porządkowe – naturalne,
- całkowite,
c) pseudorzeczywiste
Typy strukturalne
5
Podstawy Informatyki
Dane i działania
Typy wskaźnikowe
6
Podstawy Informatyki
Dane i działania
Rys. Wykaz działań na poziomie ISA (instruction set architecture – architektura listy
rozkazów)
7
Podstawy Informatyki
Dane i działania
Liczby binarne
max X = 2n-1
8
Podstawy Informatyki
Dane i działania
9
Podstawy Informatyki
Dane i działania
1995:16=124r11=124rB
124:16= 7 r12= 7 rC
7:16= 0 r 7
czyli:
1995(dec) = 7CB(hex)
1995:2 = 997 r 1
997:2 = 498 r 1
498:2 = 249 r 0
249:2 =124 r 1
10
Podstawy Informatyki
Dane i działania
124:2 = 62 r 0
62:2=31 r 0
31:2 =15 r 1
15:2 = 7 r 1
7:2 = 3 r 1
3: 2 =1 r 1
1:2 = 0 r 1
11
Podstawy Informatyki
Dane i działania
bin hex
11002 =C16
10112 =B16
0000 = 0
12
Podstawy Informatyki
Dane i działania
0001=1
0010=2
0111=7
Nazwa kodu wzięła się ze sposobu obliczania liczb przeciwnych. Dla jednobitowej
liczby wartość przeciwną obliczamy odejmując daną liczbę od 2 (uzupełniamy jej
wartość do dwóch).
X X 10
X X 1
13
Podstawy Informatyki
Dane i działania
Dowód
X X 11111110000
Zaletą tego kodu jest również istnienie tylko jednego zera. Przedział kodowanych
liczb nie będzie symetryczny. W U2 na n bitach da się zapisać liczby z zakresu:
14
Podstawy Informatyki
Dane i działania
[ –2n–1, 2n–1-1]
[–128 do 127].
Liczba –2n–1 nie posiada swojego przeciwieństwa w n-bitowej reprezentacji kodu U2.
15
Podstawy Informatyki
Dane i działania
1001 = -7
Analogicznie
16
Podstawy Informatyki
Dane i działania
System może też być użyty do kodowania liczb rzeczywistych. Wówczas używa się
systemu liczb stałoprzecinkowych, bo wymagana jest wtedy umowa, co do miejsca
położenia przecinka oddzielającego część całkowitą od ułamkowej. Przyjmuje się, że
określona liczba bitów z prawej strony oznacza część ułamkową. Można je traktować
jako liczby całkowite, pamiętając o przesunięciu.
Przykład:
3
6
4
z dokładnością do 3 bitów po przecinku odpowiada liczbie 110,110, bo .
3 27
6 23 23 54 110110
4 4
Zapis dwójkowy liczb zmiennoprzecinkowych na ogół nie używa wcale kodu U2,
bądź używa go tylko do zapisu wykładnika.
Przykład
=1111 -1
= 0101 +5
18
Podstawy Informatyki
Dane i działania
Po lewej stronie wynik traktowany jako wynik mnożenia liczb w kodzie U2 jest –11
i jest niepoprawny. Po prawej stronie przy mnożeniu uwzględniono znaki czynników.
najbardziej znaczący bit – traktowany jako bit znaku – musi mieć wartość 0. Do
reprezentowania liczb ujemnych wykorzystywana jest bitowa negacja danej liczby, co
sprawia, że bit znaku ma wartość 1. Wynika z tego również występowanie dwóch
reprezentacji zera: +0 (00000000U1) i -0 (11111111U1).
21
Podstawy Informatyki
Dane i działania
Liczby czterobitowe
0011 3 1011 -3
0100 4 1100 -4
0101 5 1101 -5
0110 6 1110 -6
0111 7 1111 -7
1.6 Zadania
25
Podstawy Informatyki
Dane i działania
Najstarszy bit może się zmienić lub nie przy przesunięciu w lewo
1010 0101 (= 5 ?)
01110011 (7 3)
S E E E E E E EE MMMMMMMMMMMMMMMMMMMMMMM
27
Podstawy Informatyki
Dane i działania
gdzie:
28
Podstawy Informatyki
Dane i działania
Jeżeli M jest stałe, a E zmienia się, wówczas przesunięciu ulega przecinek – stąd
właśnie pochodzi nazwa tej reprezentacji. Przykładowo dla liczb w kodzie dziesiętnym
Zarówno dla mantysy jak i wykładnika ilość cyfr jest z góry ustalona. Zatem dana
liczba jest reprezentowana z pewną skończoną dokładnością i należy do skończonego
zbioru wartości.
S E E E E EE EE M MM M M M M M M M M M M M M M M M M M M MM
n cyfr m cyfr
29
Podstawy Informatyki
Dane i działania
Znak wykładnika
Znak liczby
n - liczba cyfr wykładnika (n-1 cyfr dla wartości i 1 dla znaku wykładnika).
Wykładnik E:
Emin = − Bn-1 + 1
Emax = Bn-1 − 1
Mantysa M:
Mmin = 1
30
Podstawy Informatyki
Dane i działania
Mmax = B − B − (m − 1)
Zero jest wartością specjalną, która nie może zostać bezpośrednio reprezentowana
w tym formacie.
31
Podstawy Informatyki
Dane i działania
Liczba
x M max B Emax ,
1,001101 różnią się 0,001101. Liczby 1,002102 i 1,001102 różnią się 0,001102
itd.
Rozkład jest gęsty na początku osi i rzadszy w miarę oddalania się od początku osi.
33
Podstawy Informatyki
Dane i działania
fl a b c a b c 1 ε 1 1 ε 2
⎛
a b c ⎜⎜ 1
b c ε 1 ⎞⎟ 1 ε a b c 1 δ
⎝ a b c ⎠
⎟ 2 1
δ 1 1 ε 2
b c ε1 1 ε 2
a b c
δ 2 1 ε 4
a b ε 3 1 ε 4
a b c
Bit najmłodszy 0
Bit najstarszy 31
Mantysa w zakresie 0 – 22
Zadania
36
Podstawy Informatyki
Dane i działania
gdzie
1 M 2
37
Podstawy Informatyki
Dane i działania
#include <iostream>
#include <math.h>
int main()
char c;
double x,y,INF;
x=0.0;
cout<<"x = "<<x<<"\n";
38
Podstawy Informatyki
Dane i działania
cout<<"1.0/x = "<<1.0/x<<"\n";
cout<<"INF = "<<(INF=1.0/x)<<"\n";
cout<<"1.0/INF = "<<(1.0/INF)<<"\n";
cout<<"sqrt(-1.0) = "<<sqrt(-1.0)<<"\n";
cout<<"y = "<<(y=0.0)<<"\n";
cout<<"x/y ="<<x/y<<"\n";
cout<<"INF+INF ="<<(INF+INF)<<"\n";
cout<<"INF-INF ="<<(INF-INF)<<"\n";
cout<<"INF/INF ="<<(INF/INF)<<"\n";
cout<<"0*INF ="<<(0*INF)<<"\n";
cin>>c;
Wyniki
x=0
1.0/x = 1.#INF
INF = 1.#INF
1.0/INF = 0
sqrt(-1.0) = -1.#IND
y=0
x/y =-1.#IND
INF+INF =1.#INF
INF-INF =-1.#IND
INF/INF =-1.#IND
0*INF =-1.#IND
40
Podstawy Informatyki
Literatura
Literatura
[1] Małecki R., Arendt D., Bryszewski A., Krasiukianis R.: Wstęp do Informatyki. Skrypt P.Ł. Łódź, 1997
[2] Kisielewicz A.: Wprowadzenie do informatyki. Helion, Gliwice 2002
[3] Biernat J.: Architektura komputerów. Politechnika Wrocławska, Wrocław 2002
[4] http://pl.wikipedia.org/wiki/Chipset
[5] pl.wikipedia.org/wiki/PCI_Express
[6] pl.wikipedia.org/wiki/Magistrala_komunikacyjna
[7] Misiurewicz P.: Systemy mikrokomputerowe.WsiP, Warszawa 1986
[8] wikipedia.org/wiki/Kod_uzupełnień_do_jedności
[9] pl.wikipedia.org/wiki/Liczba_zmiennoprzecinkowa
[10] Kącki E., Małolepszy A., Romanowicz A.: Metody numeryczne dla inżynierów. WSInf w Łodzi, Łódź
2005