Transcript Snímek 1

Data

• Dvojková (binární) číselná soustava • Standardní

jednoduché

řádovou čárkou datové typy s pevnou • Standardní

jednoduché

datové typy s pohyblivou řádovou čárkou • Příklady

strukturovaných

datových typů

Dvojková soustava

• Poziční číselné soustavy s celočíselným základem • Binární číselná soustava, bit • Převody mezi číselnými soustavami • Hexadecimální číselná soustava

P řevod dekadicky vyjádřené celé části čísla do binární soustavy

132 = … + a 4 .2

4 + a 3 .2

3 + a 2 .2

2 + a 1 .2

1 + a 0 .2

0 66.

0 = … + a 4 .2

3 + a 3 .2

2 + a 2 .2

1 + a 1 .2

0 + a 0 .2

-1 0 = a 0 .2

-1 

a 0 = 0

66 = … + a 4 .2

3 + a 3 .2

2 + a 2 .2

1 + a 1 .2

0 66 = … + a 4 .2

3 + a 3 .2

2 + a 2 .2

1 + a 1 .2

0 33.

0 = … + a 4 .2

2 + a 3 .2

1 + a 2 .2

0 + a 1 .2

-1 0 = a 1 .2

-1 

a 1 = 0

33 = … + a 4 .2

2 + a 3 .2

1 + a 2 .2

0 33 = … + a 4 .2

2 + a 3 .2

1 + a 2 .2

0 16.

5 = … + a 4 .2

1 + a 3 .2

0 + a 2 .2

-1 0.5 = a 2 .2

-1 

a 2 = 1

16 = … a 4 .2

1 + a 3 .2

0 |:2 |:2 |:2

Dekadická, binární a hexadecimální vyjádření číslených hodnot

Dec. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bin. F. Bin.

0 00000000 1 10 00000001 00000010 11 100 101 110 00000011 00000100 00000101 00000110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 Hex.

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 Dec. 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Bin. F. Bin.

10010 10011 10100 10101 10110 10111 00010010 00010011 00010100 00010101 00010110 00010111 11000 11001 11010 11011 11100 11101 00011100 00011101 11110 00011110 11111 00011111 100000 100001 00011000 00011001 00011010 00011011 00100000 00100001 Hex.

12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21

P řevod dekadicky vyjádřené celé části čísla do binární soustavy

Schématicky :

132 : 2 = 66 : 2 = 33 : 2 = 16 : 2 = 8 : 2 = 4 : 2 = 2 : 2 = 1 : 2 = 0 zb.0 zb.0 zb.1 zb.0 zb.0 zb.0 zb.0 zb.1

10000100

P řevod dekadicky vyjádřené celé části čísla do binární soustavy V dekadické soustavě: V bin ární soustavě: V hexadecim ální soustavě: Čísla dělitelná 2 Čísla dělitelná Čísla dělitelná 4 8 a 0 = 0 a 1 , a 0 = 0 a 2 , a 1 , a 0 = 0 N = [ log 10 X ] N = [ log 2 X ] N = [ log 16 X ] A … a 10 a 9 a 8 a 7 a 6 a 5 a 4 a 3 | a 2 a 1 a 0 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 c 2 c 1 c 0 B = A div 2 3 C = A mod 2 3

Kódování záporných čísel

• Prostým vyhrazením jednoho bitu pro znaménko, další bity zůstávají pro binární váhový kód absolutní hodnoty (např. mantisa u typů s pohyblivou řádovou čárkou) • Přičtením konstanty (např. exponent u typů s pohyblivou řádovou čárkou) • Pomocí tzv. dvojkového doplňku (např. hodnota u typů ShortInt, Integer, LongInt)

Kódování záporných čísel pomocí dvojkového doplňku

• Kladná čísla se kódují binárním váhovým kódem, znaménko = 0 • Záporná čísla se kódují dvojkovým doplňkem, znaménko = 1 • Doplňkem se rozumí rozdíl kapacity soustavy, tj. 2 n (128, 32768 , …), a absolutní hodnoty kódovaného čísla Výpočet doplňku lze provést v libovolné soustavě Mechanické výpočty dvojkového doplňku v binární soustavě: 1. Všechny bity negovat a binárně přičíst 1 2. Zprava opsat všechny “0“ až k první “1” (včetně), další bity negovat

P řevod dekadicky vyjádřené necelé části čísla do binární soustavy

0.22 = a -1 .2

-1 + a -2 .2

-2 + a -3 .2

-3 + a -4 .2

-4 + a -5 .2

-5 + … 0 .44 = a -1 .2

0 + a -2 .2

-1 + a -3 .2

-2 + a -4 .2

-3 + a -5 .2

-4 + … 0 = a -1 .2

0 

a -1 = 0

0.44 = a -2 .2

-1 + a -3 .2

-2 + a -4 .2

-3 + a -5 .2

-4 + … 0.44 = a -2 .2

-1 + a -3 .2

-2 + a -4 .2

-3 + a -5 .2

-4 + … 0 .88 = a -2 .2

0 + a -3 .2

-1 + a -4 .2

-2 + a -5 .2

-3 + … 0 = a -2 .2

0 

a -2 = 0

0.88 = a -3 .2

-1 + a -4 .2

-2 + a -5 .2

-3 + a -6 .2

-4 + … 0.88 = a -3 .2

-1 + a -4 .2

-2 + a -5 .2

-3 + a -6 .2

-4 + … 1 .76 = a -3 .2

0 + a -4 .2

-1 + a -5 .2

-2 + a -6 .2

-3 + … 1 = a -3 .2

0 

a -3 = 1

0.76 = a -4 .2

-1 + a -5 .2

-2 + a -6 .2

-3 + a -7 .2

-4 + … |.2

|.2

|.2

P řevod dekadicky vyjádřené necelé části čísla do binární soustavy 0.22 * 2 = 0 .44 * 2 = 0 .88 * 2 = 1 .76 -1 = 0.76 * 2 = 1 .52 -1 = 0.52 * 2 = 1 .04 -1 = 0.04 * 2 = 0 .08

Rozvoj necelé části ukončený nekonečný periodický neperiodický

Příliš dlouhé rozvoje je třeba zkrátit, dochází tak k chybě vzniklé zaokrouhlením Pro kvantitativní vyjádření vlastnosti systému generovat chybu zavedeno tzv. „

machine

e “. Prakticky je vhodné jej hledat jako největší číslo, pro které v daném systému platí: 1.0 + e = 1.0