Přenos a výpůjčka

Z Wikipedie, otevřené encyklopedie

Přenos je termín označující situaci a hodnotu při realizování sčítání školským sčítacím algoritmem, kdy se sčítaná čísla v dané poziční číselné soustavě sčítají postupně po jednotlivých řádech a dojde k tomu, že je součet číslic daného řádu dvouciferný. Významnější číslici je pak nutno „přenést“ a přičíst při sčítání číslic vyššího řádu, a proto je označována přenos.

Výpůjčka je analogická situace, ke které dochází při odčítání. Pokud je na dané pozici číslice menšence menší než číslice menšitele, pak si lze od vyššího řádu jakoby „vypůjčit“ o řád vyšší jedničku, což umožňuje provést odečtení v daném řádu. Výpůjčka je následně splacena odečtením jedničky od vyššího řádu.

Papírová aritmetika[editovat | editovat zdroj]

Příklad přenosu při sčítání[editovat | editovat zdroj]

Při sčítání na papíře lze přenos ukázat na následujícím příkladu sčítání dvou čísel 27 a 59 v desítkové soustavě:

  ¹
  27
+ 59
----
  86

Nejprve jsou sčítány jednotky, tedy nejpravější sloupec je 7+9=16. Ve výsledku pak bude na místě jednotek číslice 6, číslice 1 představuje přenos a je zapotřebí ji přičíst při sčítání dalšího sloupce, sloupce desítek, kde je tedy potom součet 1+2+5=8 (a k dalšímu přenosu nedochází).

Příklad výpůjčky při odčítání[editovat | editovat zdroj]

Při následujícím výpočtu, kdy odčítáme 19 od 47, dochází k výpůjčce:

 −1
  47
− 19
----
  28

Při počítání zprava, tedy nejprve na úrovni jednotek, je 7-9 < 0. Dojde tedy k výpůjčce a je počítáno 10+7-9=8. „Vypůjčenou“ desítku je ovšem nutno vrátit při počítání s dalším sloupcem, kde je tedy počítáno 4-1-1=2.

Elektronika[editovat | editovat zdroj]

V číslicové technice, například v počítačích či v samostatné sčítačce, se sčítání nebo odčítání obvykle provádí principiálně stejně jako na papíře, ovšem nejčastěji ve dvojkové soustavě. I zde se používá terminologie výpůjčky a přenosu. Protože je rozsah registrů nebo proměnných obvykle omezen na pevně daný počet bitů, může při operacích v počítači dojít k situaci, kdy už není žádný vyšší řád, do kterého by bylo možné přenést (dochází k takzvanému přetečení) nebo z něj „splatit“ výpůjčku. V takových případech může obvod dát vědět o nastalé situaci nastavením příznaku přenosu.

Nastavený příznak přenosu je pak možné využít třeba při implementaci aritmetiky s libovolnou přesností. Procesory 8086 a jejich následníci mají kromě základní sčítací strojové instrukce ADD (sčítání) také instrukci ADC (anglicky addition with carrysčítání s přenosem) a podobně také kromě SUB (odčítání) ještě SBB (odčítání s výpůjčkou), kdy se při výpočtu přičítá či odčítá jednička od nejméně významného bitu, byl-li předchozí operací nastaven příznak přenosu. [1]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Carry (arithmetic) na anglické Wikipedii.

  1. VRÁTIL, Zdeněk. Assembler PC. [s.l.]: GETHON audio and computer, 1994.