Forskellen mellem underskrevet og usigneret

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.