instrukcja 4

Transkrypt

instrukcja 4
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Barbara Łukawska, Adam Krechowicz, Tomasz Michno
Ćwiczenie nr 4: Zapis danych
Wszystkie dane w pamięci komputera, bez względu na rodzaj, zapisywane są w postaci liczb
binarnych. Podstawowy system binarny (zwany takŜe Naturalnym Kodem Binarnym – NKB)
pozwala jednak tylko na zapis liczb całkowitoliczbowych dodatnich.
Pojedyncza cyfra w NKB nazwana jest bitem. Liczba bitów jest ściśle związana z maksymalną
wartością jaką moŜna zapisać za pomocą liczby binarnej. Bity zwykle występują w postaci 8
elementowych grup zwanych bajtami. Minimalną liczbę jaką moŜna zapisać za pomocą 8 bitów
jest 00000000, czyli zero. Maksymalną liczbą zapisaną na 8 bitach jest 11111111, czyli 255
(2^8-1).
Bit najbardziej na lewo w bajcie nosi nazwę bitu najbardziej znaczącego, gdyŜ przypisana mu
jest największa waga (2^7). Analogicznie bit najbardziej na prawo nazwany jest bitem najmniej
znaczącym, gdyŜ przypisana mu jest najmniejsza waga (2^0).
Zwykle dokładność jednego bajtu jest niewystarczająca we współczesnych zastosowaniach i
konieczne jest wykorzystywanie liczb 16, 32 lub 64 bitowych.
W celu zapisania liczb ujemnych konieczne jest wprowadzenie dodatkowych kodów binarnych,
które pozwalają na zapisanie dowolnych liczb całkowitych.
Jednym z najczęściej spotykanych sposobów zapisu liczb ujemnych jest wykorzystanie kodu z
uzupełnieniem do 2 (U2). W kodzie tym najstarszy bit określa czy liczba jest nieujemna.
Obliczenie wartości w kodzie U2 przeprowadza się poprzez negację liczby a następnie dodania
do niej jedynki.
Jako przykład zostanie zapisana liczba -5 w kodzie z uzupełnieniem do 2. Liczba 5 jest
zapisana w systemie binarnym jako:
b00000101
po zanegowaniu wszystkich bitów otrzymujemy:
b11111010
następnie dodajemy do wyniku jedynkę:
b11111010
1+
w ten sposób otrzymujemy zakodowaną wartość -5:
b11111011
Projekt ,,Absolwent Politechniki Świętokrzyskiej – inŜynier na miarę potrzeb współczesnej gospodarki’’
Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2
umowa UDA – POKL.04.01.02-00-213/12-00
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Odczytanie zakodowanej liczby następuje w analogiczny sposób. NaleŜy zanegować bity
otrzymanej wartości. Dzięki temu w naszym przykładzie otrzymujemy:
b00000100
Następnie do wyniku dodajemy jedynkę:
b00000101
Otrzymana wartość jest liczbą 5.
Dane znakowe zapisywane są za pomocą kodów ASCII (American Standard Code for
Information Interchange). Kod ten przypisuje 8 bitowe liczby do określonych znaków.
Najbardziej uŜyteczne kody ASCII zamieszczone zostały w tabeli ponieŜej:
Projekt ,,Absolwent Politechniki Świętokrzyskiej – inŜynier na miarę potrzeb współczesnej gospodarki’’
Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2
umowa UDA – POKL.04.01.02-00-213/12-00
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Kod
Znak
Kod
Znak
Kod
Znak
65
A
97
a
48
0
66
B
98
b
49
1
67
C
99
c
50
2
68
D
100
d
51
3
69
E
101
e
52
4
70
F
102
f
53
5
71
G
103
g
54
6
72
H
104
h
55
7
73
I
105
i
56
8
74
J
106
j
57
9
75
K
107
k
58
0
76
L
108
l
32
Spacja
77
M
109
m
46
.
78
N
110
n
44
,
79
O
111
o
80
P
112
p
81
Q
113
q
82
R
114
r
83
S
115
s
84
T
116
t
85
U
117
u
86
V
118
v
87
W
119
w
88
X
120
x
89
Y
121
y
90
Z
122
z
W celu zapisania napisu w pamięci komputera stosuje się łańcuchy znaków. Łańcuch jest
ciągiem liczb, które reprezentują znaki.
Dla przykładu zapisany ciąg liczb:
65, 66, 67
MoŜe zostać wyświetlony na ekranie jako:
Projekt ,,Absolwent Politechniki Świętokrzyskiej – inŜynier na miarę potrzeb współczesnej gospodarki’’
Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2
umowa UDA – POKL.04.01.02-00-213/12-00
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
ABC
W celu określenia końca łańcucha znaków wykorzystywane są dwie metody:
1. Łańcuchy poprzedzone długością – w tej metodzie występuje dodatkowy bajt na
początku łańcucha określający liczbę znaków. W powyŜszym przykładzie łańcuch ma 3
znaki i zakodowany został następująco:
3,65,66,67
2. Łańcuchy zakończone zerem – w tej metodzie na końcu łańcucha znaków naleŜy
dołączyć 0. PowyŜszy przykład byłby zatem zapisany następująco:
65, 66, 67, 0
Zadania:
1) Obliczyć maksymalne liczby jakie mogą być zapisane za pomocą słowa o długości:
a) 16 bitów
b) 32 bitów
c) 24 bitów
d) 64 bitów
2) Obliczyć wartości liczb w uzupełnieniu do 2
a) -2
b) -5
c) -10
d) -0
3) Zamienić liczby dziesiętne na binarne i dodać w sposób binarny do siebie a następnie
porównać wynik z dodawaniem dziesiętnym
a) 5 + (-3)
b) 10 + (-7)
c) 32 + (-16)
d) 100 + (-10)
4) Odczytać łańcuchy zakodowane za pomocą następujących kodów ASCII
a) 65, 76, 65, 32, 77, 65, 32, 75, 79, 84, 65
b) 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100
c) b01100010, b01101001, b01101110
d) 0x68, 0x65, 0x78
Projekt ,,Absolwent Politechniki Świętokrzyskiej – inŜynier na miarę potrzeb współczesnej gospodarki’’
Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2
umowa UDA – POKL.04.01.02-00-213/12-00

Podobne dokumenty