Signeret kontra usigneret
Vores talesystem strækker sig fra negativ uendelig til positiv uendelighed med nul lige i midten. Ved programmering er der dog dybest set to typer numre; den underskrevne og usignerede. Den største forskel mellem et underskrevet og et usigneret nummer er vel evnen til at bruge negative tal. Ikke-signerede numre kan kun have værdier på nul eller højere. I modsætning hertil er underskrevne numre mere naturlige med et interval, der inkluderer negative til positive tal.
Oprettelsen af underskrevne og usignerede numre blev anmodet om behovet for at repræsentere numeriske værdier med meget begrænsede ressourcer. For eksempel bruger du 8 bit, har du kun i alt 256 kombinationer. Med et usigneret nummer betyder det enhver værdi mellem 0 og 255. I modsætning hertil betyder det at have et underskrevet nummer, at du allerede mister lidt for at repræsentere tegnet. Med 7 bit har du maksimalt 128 kombinationer, så dit interval med et 8 bit signeret nummer er fra -128 til 127. Så hvis du har begrænsede ressourcer, som i de tidlige dage af computeren, var det ikke den rette vej at bruge usignerede numre.
Når man bruger signerede og usignerede numre i programmering, er det mere sikkert at bare bruge det ene eller det andet, da samtidig brug af begge kan resultere i problemer. Den første er, når du sammenligner et usigneret med et underskrevet nummer. Dette resulterer typisk i advarsler, men kompilatoren kan kompilere den alligevel. Det andet og mere alvorlige problem er, når du tildeler indholdet af et usigneret nummer til et underskrevet nummer. Hvis værdien af det usignerede nummer er større end den maksimale værdi af det underskrevne nummer, vil dette resultere i en fejl.
Efterhånden som teknologien er udviklet, er ressourcerne blevet mere rigelige, og brugen af usignerede numre bliver mindre og mindre nødvendigt. For at illustrere dette, skal du huske, at et 32 bit langt antal kan have en maksimal underskrevet værdi på 2 millioner eller 4 millioner, hvis det ikke er underskrevet. Når du bevæger dig ind i 64 bit, er forskellen mellem 90 og 180 kvintillioner; værdier, der sjældent bruges, hvis de overhovedet er i fælles programmer.
Resumé:
1.Undtegnede tal inkluderer kun nul og positive tal, mens underskrevne numre inkluderer negative tal.
2.Signerede numre har halvdelen af den maksimale værdi af usignerede numre.
3.Blanding af underskrevne og usignerede numre kan resultere i problemer.
4. Brug af underskrevne eller usignerede numre har lidt betydning for moderne applikationer.