Подписани срещу неподписани
Нашата бройна система се простира от отрицателна безкрайност до положителна безкрайност с нула вдясно в средата. В програмирането обаче има основно два вида числа; подписаното и неподписаното. Основната разлика между подписан и неподписан номер е, добре, възможността да се използват отрицателни числа. Неподписаните числа могат да имат само стойности нула или повече. За разлика от тях подписаните числа са по-естествени с диапазон, който включва отрицателни до положителни числа.
Създаването на подписани и неподписани числа беше предизвикано от необходимостта да се представят числови стойности с много ограничени ресурси. Например, използвайки 8 бита, имате само 256 комбинации. С неподписан номер това означава всяка стойност между 0 и 255. За разлика от това, че има подписан номер означава, че вече губите малко за представяне на знака. Със 7 бита имате максимум 128 комбинации, така че вашият диапазон с 8-битов подписан номер е от -128 до 127. Така че, ако имате ограничени ресурси, например в първите дни на изчислението, използването на неподписани числа беше начинът да отидете.
Когато използвате подписани и неподписани числа в програмирането, е по-безопасно просто да използвате едно или друго, тъй като едновременното използване на двете може да доведе до проблеми. Първият е, когато сравните неподписан с подписан номер. Това обикновено води до предупреждения, но компилаторът може да го компилира така или иначе. Вторият и по-сериозен проблем е, когато присвоите съдържанието на неподписан номер на подписан номер. Ако стойността на неподписания номер е по-голяма от максималната стойност на подписания номер, това би довело до грешка.
С развитието на технологиите ресурсите стават все по-обилни, а използването на неподписани числа става все по-малко и по-малко необходимо. За да илюстрирате това, имайте предвид, че 32-битово дълго число може да има максимална подписана стойност от 2 милиона или 4 милиона, ако е неподписана. Когато преминете на 64 бита, разликата е между 90 и 180 квинтилиона; стойности, които рядко се използват, ако въобще в общи програми.
Резюме:
1.Неподписаният номер включва само нулеви и положителни числа, докато подписаните номера включват отрицателни числа.
2.Подписаните числа имат половината от максималната стойност на неподписаните числа.
3.Смесването на подписани и неподписани номера може да доведе до проблеми.
4. Използването на подписани или неподписани номера имат малко отношение към съвременните приложения.