3.29M
Category: electronicselectronics

Skaitliskas sistemas. lekcija

1.

Ievads datoru arhitektūrā
DST203
2. lekcija
Skaitļošanas sistēmas
Asoc.prof., Dr.sc.ing. Dmitrijs Bļizņuks
1

2.

Saturs
Skaitliskās sistēmas: BIN, HEX, OCT
Pārveidošana
Binārie skaitļi ar zīmi
Skaitļošanas operācijas: ADD, SUB, MUL, DIV
2

3.

Kā glabāt datus?
Kāpēc nevar visur izmantot universals datu tipu “object”?
3
3

4.

Datu glabāšana aparatūrā
1 – ir signals (spriegums)
0 – nav signāla
1 – pozitīvs lādiņš
0 – negatīvs lādiņš
Pastāv arī nebināras
sistēmas:
[-1, 0, 1]
Kvantu bits - kubits
4
4

5.

Datu attēlošana
Vizualizēšanas ērtība: EX-1000 vs 1015480
Maksimāls vērtību skaits fiksētā simbolu skaitā.
– Numurzīmes: 106 = 1 000 000 un 262 x 104 = 6 760 000
– HEX sistēmā 15 cipari (simboli)
Cik baitus jāatvēl universālam datu tipam?
Kāpēc netiek izmantoti datu tipi attēls, skaņa, uc?
5
Rīgas Tehniskā universitāte
5

6.

Datu attēlošana
Maksimāls reālo objektu vienību skaits: mašīnas, personas. Pietiek ar vien 6 cipariem
Vēl lielāks?
Zinātniskie aprēķini (attālumi kosmosā, molekulu daudzums,…)
Peldošais punkts un veselie skaitļi
Laiks! 232 = 4 294 967 296 ms = >136 gadi
6
Rīgas Tehniskā universitāte
6

7.

Skaitliskie datu tipi (C#)
Type
byte
sbyte
short
ushort
Description
8-bit unsigned integer
8-bit signed integer
16-bit signed integer
16-bit unsigned integer
int
32-bit signed integer
uint
32-bit unsigned integer
Range
0 to 255
-128 to 127
-32,768 to 32,767
0 to 65,535
-2,147,483,648
to
2,147,483,647
0 to 4,294,967,295
long
64-bit signed integer
-9,223,372,036,854,775,808
to
9,223,372,036,854,775,807
ulong
64-bit unsigned integer
0 to 18,446,744,073,709,551,615
float
32-bit Single-precision floating point type
-3.402823e38 to 3.402823e38
double
64-bit double-precision floating point type
-1.79769313486232e308 to
1.79769313486232e308
decimal
128-bit decimal type for financial and monetary
calculations
(+ or -)1.0 x 10e-28
to
7.9 x 10e28
7
7

8.

Elementārie tipi
Datorsistēmās visi dati glabājas kā 0/1
Viens cipars 0/1 tiek saukts par bitu, četri biti – pusbaits (nibble),
astoņi – baits;
16/32/64/128 bitus sauc par vārdu (word). Skaits atkarīgs no sistēmas
arhitektūras un programmēšanas tipa
8
8

9.

Skaitļošanas sistēmu bāze
Skaitļošanas sistēmas bāze norāda:
– Kā interpretēt katru ciparu
– Cik daudz ciparu ir iespējamas (0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C, D, E, F)
Kopējo vērtību var attēlot kā
a0*b0+b1*a1+b2*a2 +…+bn-1*an-1 +bn*an,
kur “a” ir cipars, “n” to pozīcija un “b” bāze
9
9

10.

Heksadecimāla sistēma ir tipiska neapstrādāto (raw) datu
attēlošanai. Jo ir ērti skatīt datus, kur katrs baits ir atdalīts;
HEX – heksadecimālā sistēma ar bāzi 16;
Viens baits rakstāms ar diviem simboliem. Piemēram: FF, 10, 2A.
10
10

11.

#AA00AA – fuchsia
AA 00
AA
170 0
170
red green blue
AA00AA (16) = 11141290 (10)
11141375 (10) = ?(16)
11
11

12.

12
12

13.

HEX uz DEC
Pārveidot no HEX uz DEC
– 1C216 = 2*160 + 12*161 + 1*162 = 2 + 192 + 256 = 45010
Alternatīvi – izmantojot tipiskās “apaļas” vērtības
– 10016 = 25610
– 20016 = 51210
Ļauj ātri pārveidot skaitļus, kuri ir tuvi apaļiem
– 20F16 = 20016 + F16 = 51210 + 1510 = 52710
– 1FF16 = 20016 - 116 = 51210 - 110 = 51110
13
13

14.

Patstāvīgi
12516 ? 10
40016 ? 10
7FFF16 ? 10
7FFFFFFF16 ? 10
14
14

15.

Rezultāti
12516 29310
40016 102410
7FFF16 3276710
7FFFFFFF16 214748364710
15
15

16.

DEC uz HEX
Princips – dalām ar bāzi un pierakstam atlikumu
1369510 ?16
– 13695:16=855*16
– 855:16=53*16
– 53:16=3*16
– 3:16=0
Rezultāts – 357F16
atlikums 15
atlikums 7
atlikums 5
atlikums 3
16
16

17.

Patstāvīgi
199910=?16
819210=?16
1638310=?16
17
17

18.

Rezultāti
199910=7CF16
819210=200016
1638310=3FFF16
18
18

19.

Pamatoperācijas
Operācijas notiek tāpat kā skolā ar desmitnieku sistēmu
167FD42
+ 256789
18D64CB
157FD43
- 456789
11295BA
19
19

20.

Negatīvas bināras vērtības
Ar n bināriem cipariem ir iespējams attēlot 2n kombinācijas, kur lielākais skaitlis ir 2n-1,
skaitot no nulles. Lai attēlot negatīvas vērtības ir jāpielieto zīmes kodēšanas principu.
Populārākie principi: skaitlis-zīme un papildkods (two's complement)
20
20

21.

Skaitlis-zīme
21
21

22.

Skaitlis-zīme
Ir divas nulles +0 un -0, salīdzināšanā jāignorē zīmi
Nevar uzreiz veikt skaitliskās operācijas, jo vecākais bits ir zīme
Ērts cilvēkiem, nelietojams datorsistēmām
22
22

23.

Papildkods (two's complement)
Viena nulle
Var tieši operēt (saskaitīt, atņemt) ar skaitļiem
Pārveidošana notiek divos soļos: invertēšana un +1 pieskaitīšana
Negatīvo skaitļu ir par vienu vairāk
23
23

24.

Papildkods (two's complement)
24
24

25.

Bināra saskaitīšana
Tāpat kā ar desmitnieku cipariem:
0+0=0
0+1=1
1+1=0 (papildus 1 tiek pārnests nākošā – vecākā kartā)
Operaciju rezultātā var notikt pārpilde (overflow)
25
25

26.

Reizināšana
Var būt aizvietota ar ciklisko saskaitīšanu
Dalīt un reizināt ar 2n ir tikpat vienkārši , kā desmitnieku sistēma ar 10n.
Jāizmanto ‘bīdīšanu’ pa kreisi (reizināšana) vai pa labi (dalīšana).
26
26

27.

Dalīšana
Desmitnieku sistēma
Heksadecimālā sistēma
27
27

28.

BCD Binary Coded Decimal
Uzdevums – iekodēt laiku formātā stundas, minutes, sekundes
Cik daudz bitu/baitu vajadzēs?
28

29.

Papildus materiāli
– http://en.wikipedia.org/wiki/Signed_number_representations
– http://en.wikipedia.org/wiki/Overflow_flag
– http://en.wikipedia.org/wiki/Multiplication_algorithm
– http://en.wikipedia.org/wiki/Division_(digital)
– http://en.wikipedia.org/wiki/Pentium_FDIV_bug
– http://en.wikipedia.org/wiki/Two's_complement
– http://en.wikipedia.org/wiki/Arithmetic_overflow
– http://en.wikipedia.org/wiki/Category:Computer_arithmetic
29
29
English     Русский Rules