Prevody medzi číselnými sústavami: Rozdiel medzi revíziami
Zo stránky SensorWiki
(23 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 4: | Riadok 4: | ||
Podrobnejší popis a teóriu nájdete na stránke [[Číselné sústavy]] | Podrobnejší popis a teóriu nájdete na stránke [[Číselné sústavy]] | ||
'''Príklad 1:''' Preveďte číslo 53241<sub>10</sub> do hexadecimálnej (šestnástkovej) sústavy. | |||
'''Príklad 1:''' Preveďte číslo 123<sub>10</sub> do binárnej (dvojkovej) sústavy. | |||
[[Obrázok:Prev_dec_bin.jpg]] | |||
'''Príklad 2:''' Preveďte číslo 53241<sub>10</sub> do hexadecimálnej (šestnástkovej) sústavy. | |||
[[Obrázok:Prev_dec_hex.jpg]] | [[Obrázok:Prev_dec_hex.jpg]] | ||
'''Príklad | '''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 == | == Príklady na precvičovanie == | ||
1. Vyplňte nasledovnú tabuľku | |||
{| class="wikitable" | |||
! 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: | |||
* '''158'''<sub>10</sub> = ?<sub>2</sub> | |||
* '''144'''<sub>10</sub> = ?<sub>2</sub> | |||
* '''1010'''<sub>DEC</sub> = ?<sub>BIN</sub> | |||
* '''123'''<sub>10</sub> = ?<sub>2</sub> | |||
''' | Preveďte z dvojkovej do desiatkovej sústavy: | ||
* '''1010 0101'''<sub>2</sub> = ?<sub>10</sub> | |||
* '''1000 0001'''<sub>2</sub> = ?<sub>10</sub> | |||
* '''101001'''<sub>BIN</sub> = ?<sub>DEC</sub> | |||
* '''0101001010110'''<sub>2</sub> = ?<sub>10</sub> | |||
<quiz shuffleanswers=true display=simple> | |||
{Preveďte číslo '''234'''<sub>DEC</sub> z desiatkovej do dvojkovej sústavy: | |||
|type="{}"} | |||
{ 1110 1010|11101010 } | |||
{Preveďte číslo '''101'''<sub>10</sub> z desiatkovej do dvojkovej sústavy: | |||
|type="{}"} | |||
{ 110 0101|1100101 } | |||
{Preveďte číslo '''1100 0011'''<sub>BIN</sub> z dvojkovej do desiatkovej sústavy: | |||
|type="{}"} | |||
{ 195 } | |||
{Preveďte číslo '''1010 1010'''<sub>2</sub> z dvojkovej do desiatkovej sústavy: | |||
|type="{}"} | |||
{ 170 } | |||
</quiz> | |||
Preveďte z desiatkovej do šestnástkovej sústavy: | |||
* '''158'''<sub>10</sub> = ?<sub>16</sub> | |||
* '''144'''<sub>10</sub> = ?<sub>16</sub> | |||
* '''27'''<sub>10</sub> = ?<sub>16</sub> | |||
* '''201'''<sub>DEC</sub> = ?<sub>HEX</sub> | |||
Preveďte zo šestnástkovej do desiatkovej sústavy: | |||
* '''1A'''<sub>16</sub> = ?<sub>10</sub> | |||
* '''3FF'''<sub>HEX</sub> = ?<sub>DEC</sub> | |||
* '''10'''<sub>16</sub> = ?<sub>10</sub> | |||
* '''0a9'''<sub>16</sub> = ?<sub>10</sub> | |||
<quiz shuffleanswers=true display=simple> | |||
''' | {Preveďte číslo '''234'''<sub>DEC</sub> z desiatkovej do šestnástkovej sústavy: | ||
|type="{}"} | |||
{ EA (i)|0EA (i) } | |||
{Preveďte číslo '''101'''<sub>10</sub> z desiatkovej do šestnástkovej sústavy: | |||
|type="{}"} | |||
{ 65 } | |||
< | {Preveďte číslo '''0C7'''<sub>16</sub> z šestnástkovej do desiatkovej sústavy: | ||
|type="{}"} | |||
{ 199 } | |||
< | {Preveďte číslo '''ABBA'''<sub>HEX</sub> z šestnástkovej do desiatkovej sústavy: | ||
|type="{}"} | |||
{ 43962 } | |||
</quiz> | |||
Priame prevody medzi šestnástkovou a dvojkovou sústavou: | |||
* '''1011 0011'''<sub>2</sub> = ?<sub>16</sub> | |||
* '''0A1A1'''<sub>16</sub> = ?<sub>2</sub> | |||
* '''0c3f'''<sub>HEX</sub> = ?<sub>BIN</sub> | |||
* '''1100 0011 0101 1010'''<sub>BIN</sub> = ?<sub>HEX</sub> | |||
<quiz shuffleanswers=true display=simple> | <quiz shuffleanswers=true display=simple> | ||
{Preveďte do dvojkovej sústavy | |||
{Preveďte číslo '''0111 1110'''<sub>BIN</sub> z dvojkovej do šestnástkovej sústavy: | |||
|type="{}"} | |||
{ 7E|7e|07E|07e } | |||
{Preveďte číslo '''0101 0001'''<sub>2</sub> z dvojkovej do šestnástkovej sústavy: | |||
|type="{}"} | |||
{ 51 } | |||
{Preveďte číslo '''0C3'''<sub>16</sub> z šestnástkovej do dvojkovej sústavy: | |||
|type="{}"} | |type="{}"} | ||
{ | { 1100 0011|11000011 } | ||
{Preveďte | {Preveďte číslo '''9B'''<sub>HEX</sub> z šestnástkovej do dvojkovej sústavy: | ||
|type="{}"} | |type="{}"} | ||
{ | { 1001 1011|10011011 } | ||
</quiz> | |||
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: | |||
* '''-99'''<sub>10</sub> = ?<sub>2</sub> | |||
* '''-200'''<sub>10</sub> = ?<sub>2</sub> | |||
Preveďte z dvojkovej sústavy v doplnkovom kóde do desiatkovej: | |||
* '''1010 1000'''<sub>2</sub> = ?<sub>10</sub> | |||
* '''1010 1011'''<sub>2</sub> = ?<sub>10</sub> | |||
<quiz shuffleanswers=true display=simple> | |||
{Preveďte | {Preveďte číslo '''-14'''<sub>10</sub> do dvojkovej sústavy v doplnkovom kóde: | ||
|type="{}"} | |type="{}"} | ||
{ | { 1111 0010|11110010 } | ||
{Preveďte | {Preveďte číslo '''1111 0110'''<sub>2</sub> v doplnkovom kóde do desiatkovej sústavy: | ||
|type="{}"} | |type="{}"} | ||
{ | { -10 } | ||
</quiz> | </quiz> | ||
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? | |||
[[Category:Základy počítačov]] | [[Category:Základy počítačov]] |
Aktuálna revízia z 13:02, 27. september 2019
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.
Príklad 2: Preveďte číslo 5324110 do hexadecimálnej (šestnástkovej) sústavy.
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
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
Priame prevody medzi šestnástkovou a dvojkovou sústavou:
- 1011 00112 = ?16
- 0A1A116 = ?2
- 0c3fHEX = ?BIN
- 1100 0011 0101 1010BIN = ?HEX
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
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?