Převod celého čísla do binární reprezentace

Následující text přehledně popisuje převod celého čísla v desítkové soustavě do binární podoby s pomocí několika rozdílných metod.

Výpočet hodnoty v dvojkové reprezentaci

Mezi jeden z nejzákladnějších úkonů patří převedení desítkového údaje do binární podoby. K dosažení tohoto cíle existuje několik metod, osobně za obzvláště efektivní považují postupné dělení. Zvolme si číslo 10010, kde dolní index značí použitou soustavu a proveďme samotný přepočet.

  • 100 : 2 = 50, zbytek 0
  • 50 : 2 = 25, zbytek 0
  • 25 : 2 = 12, zbytek 1
  • 12 : 2 = 6, zbytek 0
  • 6 : 2 = 3, zbytek 0
  • 3 : 2 = 1, zbytek 1
  • 1 : 2 = 0, zbytek 1
Postupně celočíselně dělíme zbývající části původního čísla dvojkou a pamatujeme si zbytky. Ty následně zapíšeme v obráceném pořadí a získáváme výsledný údaj – 11001002.

Dvojkově desítkový kód

Následující způsob převodu čísla si nejprve vstupní informaci rozdělí na jednotlivé cifry v desítkové soustavě a provede jejich transformaci s pomocí výše zmíněného postupu do binární podoby. Číslo 100 se tedy promění na tři části – 1, 0 a 0. Každá třetina využívá k uchování informace čtyři pozice, výsledek vzniká jejich spojením.

  • 110 = 00012
  • 010 = 00002
  • 010 = 00002
Dohromady tedy 0001000000002.

Přímý kód

Do hry nám vstupuje nutnost uložení i záporných záznamů. S jednoduchým řešením přichází princip vložení speciálního bitu, jenž indikuje přítomnost znaménka. Nejprve provedeme převod do binární podoby a poté na začátek přidáme příslušný bit (1 pro záporné číslo, kladný údaj získá 0).

  • 10010 = 011001002
  • -10010 = 111001002

Aditivní kód

S opravdu zajímavým řešením se o slovo hlásí následující princip vyžadující znalost určité konstanty. Ta se po získání dvojkové podoby k mezivýsledku binárně připočítá. Jako konstantu v tomto případě zvolíme např. 128 (27), což se rovná 100000002.

  • 10010 = 11001002 + 100000002 = 111001002
V případě záporného údaje pro rychlý výpočet použijeme odlišný postup. Nejprve od konstanty v desítkové soustavě odečteme absolutní hodnotu vstupního údaje a výsledek převedeme do dvojkové reprezentace.
  • -10010 = 128 – |-100| = 2810
  • 2810 = 111002

Inverzní kód

V případě kladného čísla se inverzní kód nijak neprojeví, spoléhá totiž na standardní převod do binární soustavy. U záporného údaje provede logickou negaci všech cifer a na začátek přidá bit o hodnotě 1 symbolizující znaménko.

  • na -100 aplikujeme absolutní hodnotu
  • 10010 = 11001002 (převod do dvojkové podoby)
  • 0011011 (logická negace)
  • 10011011 (přidání bitu)

Doplňkový kód

S podobným principem jako inverzní kód přichází i tato metoda. Kladná čísla opět nechává netknutá. U záporných také neguje cifry, přičemž navíc přidává binární připočítání hodnoty 1. Závěrem vstupuje na scénu bit s hodnotou 1 umístěný na začátek k signalizaci znaménka.

  • na -100 aplikujeme absolutní hodnotu
  • 10010 = 11001002 (převod do dvojkové podoby)
  • 0011011 (logická negace)
  • 0011100 (binární přičtení hodnoty 1)
  • 10011100 (přidání bitu)

1 komentář u „Převod celého čísla do binární reprezentace

  1. Pingback: Převod desetinného čísla do binární reprezentace | IT blog

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>