Разлика между подписан и неподписан

Подписано срещу Неподписано

Нашата бройна система се простира от отрицателна безкрайност до положителна безкрайност с нула точно в средата. При програмирането обаче има основно два вида числа; подписаните и неподписаните. Основната разлика между подписан и неподписан номер е, добре, способността да се използват отрицателни числа. Неподписаните числа могат да имат само стойности нула или повече. За разлика от тях, подписаните числа са по-естествени с диапазон, който включва отрицателни към положителни числа.

Създаването на подписани и неподписани номера е предизвикано от необходимостта да се представят числови стойности с много ограничени ресурси. Например, използвайки 8 бита, имате само 256 комбинации. С неподписано число това означава всяка стойност между 0 и 255. За разлика от това, ако имаш подписан номер, значи вече губиш малко за представяне на знака. Със 7 бита имате максимум 128 комбинации, така че обхватът ви с 8-битово подписано число е от -128 до 127. Така че, ако имате ограничени ресурси, както в ранните дни на изчисленията, използването на неподписани числа беше начинът, по който трябва да се работи.



Когато използвате подписани и неподписани номера в програмирането, е по-безопасно просто да използвате едното или другото, тъй като едновременното използване и на двете може да доведе до проблеми. Първият е, когато сравнявате неподписан с подписан номер. Това обикновено води до предупреждения, но компилаторът все пак може да го компилира. Вторият и по-сериозен проблем е, когато присвоите съдържанието на неподписан номер на подписан номер. Ако стойността на неподписания номер е по-голяма от максималната стойност на подписания номер, това би довело до грешка.

С развитието на технологиите ресурсите стават все по-богати и използването на неподписани номера става все по-малко необходимо. За да илюстрирате това, имайте предвид, че 32-битовото число може да има максимална подписана стойност от 2 милиона или 4 милиона, ако е неподписано. Когато се преместите в 64 бита, разликата е между 90 и 180 квинтилиона; стойности, които рядко се използват, ако изобщо се използват в общи програми.

Резюме:

1. Неподписаните числа включват само нула и положителни числа, докато подписаните числа включват отрицателни числа.
2. Подписаните числа имат половината от максималната стойност на неподписаните числа.
3. Смесването на подписани и неподписани номера може да доведе до проблеми.
4. Използването на подписани или неподписани номера има малко значение в съвременните приложения.