Příznak přetečení

Příznak přetečení (anglicky overflow flag) (obvykle označovaný písmenem V) je bit ve registru příznaků (stavovém slově) počítačových procesorů používaný pro indikaci, že výsledek aritmetické operace (obvykle sčítání nebo odečítání) s celými čísly se znaménkem překročil povolený rozsah.

Použití

Příznak přetečení indikuje, že se výsledek operace sčítání nebo odečítání čísel ve dvojkovém doplňku nevejde do počtu bitů používaných pro tuto operaci. Zatímco procesory některých architektur musí kontrolovat příznak přetečení po každé operaci, jiné typy procesorů mohou být zkonfigurovány tak, že pokud dojde k aritmetickému přetečení, automaticky vygenerují výjimku.

Většina procesorů používá pro zobrazení celých čísel se znaménkem dvojkový doplněk. Při tomto zobrazení reprezentují čísla, která mají nejvýznamnější bit (tzv. znaménkový bit) nulový, stejnou hodnotu jako kdyby se jednalo o čísla bez znaménka; čísla, která mají nejvýznamnější bit jedničkový, jsou interpretována jako záporná.

Při použití dvojkového doplňku lze pro sčítání a odečítání čísel se znaménkem používat stejné operace jako pro čísla bez znaménka. Rozdíl je pouze v interpretaci čísel a ve způsobu vyhodnocování překročení číselného rozsahu: zatímco při operacích s čísly bez znaménka indikuje překročení povoleného rozsahu příznak přenosu, při operacích se znaménkem indikuje překročení rozsahu příznak přetečení.

Příklad: Při použití 8bitových registrů sčítáme dvě kladná čísla 100 + 50 (binárně 0110 0100 + 0011 0010. Sčítáme, jako kdyby se jednalo o čísla bez znaménka: 100+50 je 150 což je binárně 1001 0110 a ve dvojkovém doplňku -106. Záporný výsledek sčítání dvou kladných čísel znamená, že došlo k přetečení, proto tato operace nastaví příznak přetečení. Příznak přenosu nastaven není, takže 150 je při použití čísel bez znaménka správný výsledek. Příznak přetečení je tedy nastaven, pokud nejvýznamnější bit (považovaný za znaménkový bit) se při sčítání dvou čísel se stejnými znaménky (nebo odčítání dvou čísel s opačnými znaménky) změní. K přetečení může dojít pouze při sčítání čísel se stejnými znaménky nebo při odečítání čísel s opačnými znaménky.

Interně je příznak přetečení obvykle generován jako nonekvivalence interního přenosu do znaménkového bitu a ze znaménkového bitu.

Příznak přetečení je obvykle měněn všemi aritmetickými operacemi, včetně instrukce porovnání (která je ekvivalentní s instrukcí odečítání bez uložení výsledku). V mnoha architekturách procesorů je příznak přetečení nulován bitovými operacemi (and, or, xor, not), většinou včetně operací bitových posuvů a rotací; v jiných architekturách mohou tyto instrukce nechat příznak přetečení beze změn. Instrukce násobení a dělení často ponechávají tento příznak nedefinovaný, nebo jej nastavují podle posledního částečného výsledku.

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Overflow flag na anglické Wikipedii. Velmi podrobné vysvětlení způsobů vyhodnocování příznaků přetečení a přenosu.

Související články


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Příznak_přetečení
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.