Diskusní téma: Lekce 32 - Arduino a časování procesů v programu
Datum | 02.10.2015 |
---|---|
Vložil | LuBoss |
Titulek | Re: Re: Re: Re: Re: Re: Re: Re: Re: Funkce millis() a datový typ |
Typ long přeteče po hodnotě 2 147 483 647 na hodnotu -2 147 483 648, kdežto unsigned long přeteče po hodnotě 4 294 967 295 na 0. Pokud se tedy u maximální hodnoty typu long přičte +1, tak výsledek bude -2147483648, což je v lidském počítání neobvyklé. Ale proč prostě nepoužívat všude unsigned proměnné? Nevýhoda unsigned proměnných je jediná, ale zásadní - neumí záporná čísla (nemají pozici pro znaménko). Je ale spousta situací, kdy je potřeba pracovat i se zápornými hodnotami a proto jsou výsledky různých funkcí a výpočtů defaultně jako signed typ, tedy se znaménkem, ale polovičním rozsahem kladné max. hodnoty.
———
Zpět na diskuzi