Ero Allekirjoitettu ja Etumerkitön



Allekirjoitettu vs Allekirjoittamaton

Meidän numero järjestelmä ulottuu negatiivinen ääretön positiiviseen äärettömään nolla aivan keskellä. Kuitenkin ohjelmointi, on periaatteessa kahdenlaisia ​​numeroita; allekirjoitettu ja allekirjoittamaton. Suurin ero allekirjoitettu ja allekirjoittamaton määrä on hyvin, kyky käyttää negatiivisia lukuja. Allekirjoittamaton numeroita voi olla vain arvot nolla tai suurempi. Sen sijaan allekirjoitti numerot ovat luonnollisempi joiden valikoima, joka sisältää negatiivista positiivisia lukuja.

Luominen allekirjoitettu ja allekirjoittamaton numerot syynä oli tarve edustaa numeerisia arvoja hyvin rajalliset resurssit. Esimerkiksi käyttämällä 8 bittiä, sinulla on vain yhteensä 256 yhdistelmiä. Kanssa unsigned numero, joka tarkoittaa mitä tahansa arvo välillä 0 ja 255. Sen sijaan, jolla on allekirjoitettu numero tarkoittaa, jo menettää hieman edustaa merkkiä. 7 bittiä olet enintään 128 yhdistelmien joten alue, jossa on 8-bittinen allekirjoitettu numero on välillä -128 127. Joten jos resurssit ovat rajalliset, kuten alkuaikoina laskenta käyttäen unsigned numerot oli tie.

Käytettäessä allekirjoitettu ja allekirjoittamaton numerot ohjelmointi, se on turvallisempaa käyttää vain yhtä tai toista yhtiötä samanaikaisesti käyttäen molempia voi aiheuttaa ongelmia. Ensimmäinen on, kun vertaa unsigned on allekirjoitettu numero. Tämä johtaa tyypillisesti varoituksia, mutta kääntäjä voi kääntää sen joka tapauksessa. Toinen ja vakavampi ongelma on, kun sisällön määrittäminen allekirjoittamattomana numeron allekirjoitettu numeron. Jos arvo allekirjoittamaton määrä on suurempi kuin suurin arvo allekirjoitettu numero, tämä johtaisi virheeseen.



Kun teknologia kehittyi, resurssit ovat runsastuneet, ja käyttö unsigned numeroiden on yhä vähemmän ja vähemmän tarpeellista. Tämän kuvaamiseksi pitää mielessä, että 32-bittinen pitkä numero voi olla enintään allekirjoitettu arvo 2 miljoonaa eli 4 miljoonaa jos se 's unsigned. Kun siirrytte 64 bittiä, erotus on 90 ja 180 quintillion; arvot harvoin jos ollenkaan yhteisiä ohjelmia.

Yhteenveto:

1. Unsigned numero sisältää vain nolla ja positiiviset luvut kirjautuneena numerot sisältävät negatiivisia lukuja.
2. Allekirjoitettu numerot ovat puoli maksimiarvo unsigned numerot.
3. Sekoitus allekirjoitettu ja allekirjoittamaton numerot voivat aiheuttaa ongelmia.