Razlika između potpisanog i nenapisanog

Potpisano protiv Nespisano

Naš brojčani sistem širi se od negativne beskonačnosti do pozitivne beskonačnosti s nulom desno u sredini. Međutim, u programiranju postoje u osnovi dvije vrste brojeva; potpisan i nepotpisan. Glavna razlika između potpisanog i nenapisanog broja je, dakle, sposobnost korištenja negativnih brojeva. Nepodpisani brojevi mogu imati samo nulu ili veću. Suprotno tome, potpisani brojevi su prirodniji s rasponom koji uključuje negativne do pozitivne brojeve.

Stvaranje potpisanih i nepotpisanih brojeva potaknuto je potrebom predstavljanja numeričkih vrijednosti s vrlo ograničenim resursima. Na primjer, pomoću 8 bita imate samo 256 kombinacija. Ako nema potpisanog broja, to znači bilo koju vrijednost između 0 i 255. Za razliku od toga, ako imate potpisan broj, već malo izgubite zbog predstavljanja znaka. Sa 7 bita imate maksimalno 128 kombinacija, tako da je vaš raspon s 8-bitnim potpisanim brojem od -128 do 127. Dakle, ako imate ograničene resurse, poput ranih dana računanja, korištenje nepotpisanih brojeva bio je put.

Pri korištenju potpisanih i nepotpisanih brojeva u programiranju, sigurnije je koristiti jedno ili drugo jer istodobno korištenje oba može stvoriti probleme. Prvo je kad usporedite nenapisani s potpisanim brojem. To obično rezultira upozorenjima, ali prevodilac bi ga mogao sastaviti u bilo kojem slučaju. Drugi i ozbiljniji problem je kada sadržaju nepotpisanog broja dodijelite potpisanom broju. Ako je vrijednost nepotpisanog broja veća od maksimalne vrijednosti potpisanog broja, to će dovesti do pogreške.

Kako se tehnologija razvijala, resursi postaju sve obilniji, a upotreba nepotpisanih brojeva sve je manje nužna. Da biste to ilustrirali, imajte na umu da 32-bitni broj može imati maksimalno potpisanu vrijednost od 2 milijuna ili 4 milijuna ako nije potpisan. Kada pređete na 64 bita, razlika je između 90 i 180 kvintilija; vrijednosti koje se rijetko koriste ako ih uopće ima u zajedničkim programima.

Sažetak:

1.Priglašeni brojevi uključuju samo nula i pozitivne brojeve dok potpisani brojevi uključuju negativne brojeve.
2.Pripisani brojevi imaju polovinu maksimalne vrijednosti nepotpisanih brojeva.
3.Miješanje potpisanih i nepotpisanih brojeva može rezultirati problemima.
4.Korištenje potpisanih ili nepotpisanih brojeva ima malo utjecaja u modernim aplikacijama.