Podepsáno vs Nepřihlášeno
Náš číselný systém sahá od záporného nekonečna k kladnému nekonečnu s nulou vpravo uprostřed. V programování však existují v zásadě dva typy čísel; podepsané a nepodepsané. Hlavním rozdílem mezi podepsaným a nepodepsaným číslem je schopnost používat záporná čísla. Nepřihlášená čísla mohou mít pouze hodnoty nula nebo větší. Naopak podepsaná čísla jsou přirozenější s rozsahem, který zahrnuje záporná až kladná čísla.
Vytvoření podepsaných a nepodepsaných čísel bylo vyvoláno potřebou reprezentovat číselné hodnoty s velmi omezenými zdroji. Například při použití 8 bitů máte celkem pouze 256 kombinací. S nepodepsaným číslem to znamená jakoukoli hodnotu mezi 0 a 255. Naproti tomu mít podepsané číslo znamená, že už ztratíte trochu za reprezentaci znaku. Se 7 bity máte maximálně 128 kombinací, takže váš rozsah s 8-bitovým podepsaným číslem je od -128 do 127. Takže pokud máte omezené zdroje, jako v počátečních dnech výpočetní techniky, bylo použití neznamenaných čísel způsob, jak jít.
Při použití podepsaných a nepodepsaných čísel při programování je bezpečnější použít jedno nebo druhé, protože současné použití obou může způsobit problémy. První je, když porovnáte nepodepsané a podepsané číslo. Výsledkem je obvykle varování, ale kompilátor ji přesto může kompilovat. Druhým a závažnějším problémem je přiřazení obsahu nepodepsaného čísla k podepsanému číslu. Pokud je hodnota nepodepsaného čísla větší než maximální hodnota podepsaného čísla, mělo by to za následek chybu.
Jak se technologie vyvíjí, zdroje se stávají hojnější a použití nepodepsaných čísel je čím dál tím méně nezbytné. Pro ilustraci mějte na paměti, že 32 bitové číslo může mít maximální podepsanou hodnotu 2 miliony nebo 4 miliony, pokud není podepsáno. Když se přesunete do 64 bitů, rozdíl je mezi 90 a 180 kvintiliony; hodnoty, které se ve společných programech používají jen zřídka.
Souhrn:
1.Přiřazené číslo zahrnuje pouze nulová a kladná čísla, zatímco podepsaná čísla zahrnují záporná čísla.
2.Přihlášená čísla mají polovinu maximální hodnoty nepodepsaných čísel.
3.Míchání podepsaných a nepodepsaných čísel může vést k problémům.
4.Použití podepsaných nebo nepodepsaných čísel má v moderních aplikacích malý význam.