Potpisan i nepotpisan

Anonim

Potpisan ili nepotpisan

Naš sustav broja se proteže od negativnog beskonačnosti do pozitivnog 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 nepotpisanog broja jest sposobnost korištenja negativnih brojeva. Unsigned brojevi mogu imati samo vrijednosti nula ili više. Nasuprot tome, potpisani brojevi prirodnije su s rasponom koji uključuje negativne i pozitivne brojeve.

Stvaranje potpisanih i nepotpisanih brojeva potaknulo je potrebu predstavljanja numeričkih vrijednosti s vrlo ograničenim resursima. Na primjer, koristeći 8 bita, imate samo ukupno 256 kombinacija. S nepotpisanim brojem, to znači bilo koju vrijednost između 0 i 255. Nasuprot tome, ako imate potpisani broj, to znači da već izgubite malo za predstavljanje znaka. Sa 7 bita imate najviše 128 kombinacija tako da vaš raspon s potpisanim brojem od 8 bita iznosi od -128 do 127. Dakle, ako imate ograničene resurse, kao u prvim danima računanja, korištenje nepotpisanih brojeva bio je način na koji se možete kretati.

Kada koristite potpisane i nepotpisane brojeve u programiranju, sigurnije je koristiti samo jedan ili drugi, jer istodobno korištenje oba mogu dovesti do problema. Prvi je kada usporedite nepotpisan na potpisani broj. To obično dovodi do upozorenja, no prevodilac je svejedno mogao sastaviti. Drugi i ozbiljan problem je kada dodijelite sadržaj nepotpisanog broja na potpisani broj. Ako je vrijednost nepotpisanog broja veća od maksimalne vrijednosti potpisanog broja, to bi rezultiralo pogreškom.

Kako je tehnologija razvijena, resursi su postali bogatiji, a uporaba nepotpisanih brojeva postaje sve manje potrebna. Da biste to ilustrirali, imajte na umu da 32-bitni broj može imati maksimalnu potpisanu vrijednost od 2 milijuna ili 4 milijuna ako nije nepotpisana. Kada se preselite u 64 bita, razlika je između 90 i 180 kvintila; vrijednosti koje se rijetko koriste ako su uopće u zajedničkim programima.

Sažetak:

1.Nempisani broj uključuje samo nula i pozitivne brojeve dok potpisani brojevi uključuju negativne brojeve. 2. Potpisani brojevi imaju polovicu maksimalne vrijednosti nepotpisanih brojeva. 3.Mixing potpisanih i nepotpisanih brojeva može dovesti do problema. 4.Upotreba potpisanih ili nepotpisanih brojeva ima mali utjecaj na moderne aplikacije.