Skip to main content

Co je to celé číslo?

Overflow celého čísla se týká jevu, který se vyskytuje v určitých typech počítačů, kde se jejich znaky přecházejí z pozitivního na negativní nebo naopak, když dosáhnou konce jejich příslušných rozsahů.V počítačových rozsazích mají celočíselné datové typy kruhové rozsahy a když dosáhnou jednoho konce svého rozsahu, okamžitě se přesunou na druhý konec svého rozsahu.Tomu se také nazývá celočíselné přetečení.;;Spíše, další číslo, na které se zvyšuje, je na druhém konci svého rozsahu: (2

31

- 1).Změna z negativního na pozitivní na konci jeho rozsahu je příkladem přetečení celého celého čísla.Stejným důvodem nemůže mít celé číslo 2 31 ;Tato hodnota by místo toho přepnula na druhý konec jeho rozsahu a stala se -2 31 . Tento přetečení má při programování významné důsledky.Pole může mít v něm pouze tolik indexů, kolik to celočíselné typ umožňuje, a negativní indexy se nepočítají.Pokud se programátor pokouší vytvořit pole větší, než umožňuje typ celého celého, může dojít k významným chybám paměti, protože přetečení celého celého čísla by mělo za následek negativní index.To je zvláště nebezpečné v jazycích, které nemají explicitní hranice kontroly polí, jako je C ++. Když dojde k přetečení celého celého čísla, mohou se vyskytnout související typy přetečení, jako je přetečení vyrovnávací paměti, přetečení haldy a přetečení vyrovnávací paměti.Ve všech těchto případech se celé týkající se přetečení týká ohromení paměťových struktur s více daty, než tyto struktury mohou mít.Tyto přetoky, v jednoduchých programech, často nedělají mnohem víc, než způsobit neplatnou chybu čtení nebo neplatného zápisu.Manipulace s tímto problémem hackery však může inženýrství chyb v paměti, které mohou způsobit vážnější problémy. Ve většině jednoduchých programů není přetečení celého čísla hlavním problémem.Limity celočíselného typu jsou dostatečně velké, aby se problém přetečení nepřišel do hry, pokud se najednou zpracovává mnoho dat.V některých případech lze přetečení přetečení zmírnit, jako v případě přírůstků čítačů, pomocí většího datového typu s větším rozsahem.Větší datový typ by se teoreticky mohl nakonec setkat se stejným problémem s přetečením, ale jak se rozsahy dat zvětšují, šance, že se tak zmenší.Každý rozsah celočíselných datových typů je alespoň dvojnásobkem velikosti nejmenších, takže existuje dostatek prostoru pro další data.