Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako skontrolovať Integer Overflow

Čísla Počítače ukladať v binárnom formáte , to znamená , že ako sled 1 a 0. Rozsah čísiel , ktoré môžu byť vyjadrené pomocou binárneho čísla je 2 na sile množstvo binárnych čísel , ktoré tvoria postupnosť . Napríklad , 32 - bit integer pojme 2 k sile 32 ( 4294967296 ) unikátnych čísel . Ak takéto číslo koná najväčší počet to bol schopný vyjadriť a číslo 1 bola pridaná k tomu , že by pretiecť . To znamená , že čísla by začať znova na 0. Kontrola pretečeniu celého čísla je životne dôležité pre zachytenie chyby programu zhadzovať v C alebo C + + . Veci , ktoré budete potrebovať
C + + integrované vývojové prostredie ( IDE ) , ako je napríklad Eclipse CDT
C + + Compiler , ako G+ +
Zobraziť ďalšie inštrukcie Cestuj 1

Začiatok C + + IDE kliknutím na jeho ikonu a čaká na to , aby zaťaženie .
2

Vytvorte nový projekt kliknutím na " Súbor /nový projekt . " Prázdny zdrojový kód súboru sa zobrazí na pracovnej ploche
3

Vytvorte hlavnú funkciu tým , že píše nasledujúce riadky kódu : .

Int main ( )

{

}
4

deklarovať tri premenné : dva 16 - bitové šírke celé čísla a 32 - bit široká celočíselné písaním nasledujúce dva riadky v zložených zátvorkách v hlavnej funkcie :

uint16_t , b ;

uint32_t c ;
5

Pridať na dva 16 - bitové širokej celé čísla dohromady pomocou nasledujúce operácie :

c = a + b ;
6

Test pretečeniu porovnaním premennej c na maximálnu hodnotu uint16_t premenná môže držať ( 2 na výkone 16 -1 , alebo 65535 ) . Pokiaľ dôjde k pretečeniu tento výsledok testu na hodnotu true , ak sa pokúsite pridať týchto dvoch čísel a ich uloženie do uint16_t premennej .

If ( c > = 65535 )

{

}
7

Umiestnite chybovú správu , vo vnútri zložených zátvoriek príkazu if vyššie , aby programátor viem , bola zistená pretečeniu . Dalo by sa napísať toto :

Cerro << " zistené pretečeniu pri sčítaní a + b " << endl ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené