Operácie

Prevody medzi číselnými sústavami

Z SensorWiki

Teoretický úvod

Podrobnejší popis a teóriu nájdete na stránke Číselné sústavy


Príklad 1: Preveďte číslo 12310 do binárnej (dvojkovej) sústavy.

Prev dec bin.jpg


Príklad 2: Preveďte číslo 5324110 do hexadecimálnej (šestnástkovej) sústavy.

Prev dec hex.jpg


Príklad 3: Záporné čísla


Priamy kód -- jeden bit (MSB) je vyhradený pre znamienko

 0 000    0               1 000    -0
 0 001    1               1 001    -1
 0 010    2               1 010    -2
 0 011    3               1 011    -3
 0 100    4               1 100    -4
 0 101    5               1 101    -5
 0 110    6               1 110    -6
 0 111    7               1 111    -7
   
 3 + (-3) = 0011 + 1011 = 1110 = -6   nOK
 5 + (-3) = 0101 + 1011 = 1 0000 = 0  nOK
 

Inverzný kód -- podobne ako priamy, MSB je znamienko

 0 000    0               1 000    -7
 0 001    1               1 001    -6
 0 010    2               1 010    -5
 0 011    3               1 011    -4
 0 100    4               1 100    -3
 0 101    5               1 101    -2
 0 110    6               1 110    -1
 0 111    7               1 111    -0
 
 
 3 + (-3) = 0011 + 1100 = 1111 = -0     OK
 5 + (-3) = 0101 + 1100 = 1 0001 = 1   nOK
 Je nutná korekcia: pripočítať CY bit k LSB
 5 + (-3) = 0101 + 1100 = 1 0001 = 0001+1 = 0010 = 2   OK
 

Doplnkový kód -- inverzný kód + 1, stále platí MSB je znamienko ale naviac funguje aritmetika

 0 000    0               1 111   -1      
 0 001    1               1 110   -2      
 0 010    2               1 101   -3      
 0 011    3               1 100   -4      
 0 100    4               1 011   -5      
 0 101    5               1 010   -6      
 0 110    6               1 001   -7      
 0 111    7               1 000   ?? => -8
   
 
 3 + (-3) = 0011 + 1101 = 1 0000 = 0     OK
 5 + (-3) = 0101 + 1101 = 1 0010 = 2     OK
-7 + (-1) = 1001 + 1111 = 1 1000 = -8

Príklady na precvičovanie

1. Vyplňte nasledovnú tabuľku

DEC HEX BIN
0                      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

2. Preveďte niekoľko čísel z jednej sústavy do inej podľa pokynov cvičiaceho.


Preveďte z desiatkovej do dvojkovej sústavy:

  • 15810 = ?2
  • 14410 = ?2
  • 1010DEC = ?BIN
  • 12310 = ?2

Preveďte z dvojkovej do desiatkovej sústavy:

  • 1010 01012 = ?10
  • 1000 00012 = ?10
  • 101001BIN = ?DEC
  • 01010010101102 = ?10


1 Preveďte číslo 234DEC z desiatkovej do dvojkovej sústavy:

2 Preveďte číslo 10110 z desiatkovej do dvojkovej sústavy:

3 Preveďte číslo 1100 0011BIN z dvojkovej do desiatkovej sústavy:

4 Preveďte číslo 1010 10102 z dvojkovej do desiatkovej sústavy:



Preveďte z desiatkovej do šestnástkovej sústavy:

  • 15810 = ?16
  • 14410 = ?16
  • 2710 = ?16
  • 201DEC = ?HEX

Preveďte zo šestnástkovej do desiatkovej sústavy:

  • 1A16 = ?10
  • 3FFHEX = ?DEC
  • 1016 = ?10
  • 0a916 = ?10


1 Preveďte číslo 234DEC z desiatkovej do šestnástkovej sústavy:

2 Preveďte číslo 10110 z desiatkovej do šestnástkovej sústavy:

3 Preveďte číslo 0C716 z šestnástkovej do desiatkovej sústavy:

4 Preveďte číslo ABBAHEX z šestnástkovej do desiatkovej sústavy:


Priame prevody medzi šestnástkovou a dvojkovou sústavou:

  • 1011 00112 = ?16
  • 0A1A116 = ?2
  • 0c3fHEX = ?BIN
  • 1100 0011 0101 1010BIN = ?HEX

1 {Preveďte číslo 0111 1110BIN z dvojkovej do šestnástkovej sústavy:

2 Preveďte číslo 0101 00012 z dvojkovej do šestnástkovej sústavy:

3 Preveďte číslo 0C316 z šestnástkovej do dvojkovej sústavy:

4 Preveďte číslo 9BHEX z šestnástkovej do dvojkovej sústavy:



3. Záporné čísla - doplnkový kód

Pozn.: Predtým najprv binárnu aritmetiku na sčítanie aby vedeli +1

Preveďte z desiatkovej do dvojkovej sústavy v doplnkovom kóde:

  • -9910 = ?2
  • -20010 = ?2

Preveďte z dvojkovej sústavy v doplnkovom kóde do desiatkovej:

  • 1010 10002 = ?10
  • 1010 10112 = ?10

1 Preveďte číslo -1410 do dvojkovej sústavy v doplnkovom kóde:

2 Preveďte číslo 1111 01102 v doplnkovom kóde do desiatkovej sústavy:


4. Rozsahy - aké najmenšie a aké najväčšie číslo vieme zobraziť v pamäťovej bunke šírky 1 Bajt? Aké celé čísla vieme uložiť v 32-bitovom počítači?