Ключова разлика: Подписано char и unsigned char са два типа данни, използвани в C програмиране. Неподписаните и подписаните знаци се използват за съхраняване на символи и се състоят от площ от 8 бита. Неподписаните знаци имат стойности между 0 и 255, докато подписаните знаци имат стойности от –128 до 127 (на машина с 8-битови байтове и две аритметични допълнения).
C90 активира C, за да използва ключови думи, подписани и неподписани с char. Важно е да се отбележи, че те се използват само когато трябва да се обработват малки цели числа. Подписаните символи и неподписани символи са на 8-битови байта на 16-битова машина. Те се различават предимно в обхвата, който представляват. Диапазонът на неподписания знак е от 0 до 255, докато размерът на char или char е от -128 до 127.
Преобразуването на char в int стойности се извършва автоматично от C. Въпреки това, тя все още зависи от машината, която решава, че резултатът ще бъде отрицателен или не. Горният случай А е еквивалентен на целочислена стойност от 65.
Термините "неподписани" и "подписани", използвани с char, означава, че ако съдържанието на тези осем бита се интерпретира в цяло число, тези термини могат да направят някаква разлика. Типът на символните данни обикновено е от тип unsigned по подразбиране. Въпреки това, в C ++ и ANSI C режим, има опция да ги декларираме изрично като подписани или неподписани. В неподписани символи 8 бита се използват като битове с данни, докато в паметта представянето на подписания 1 бит (най-значимия бит) се използва за подписан бит, а 7 бита се използват като битове за данни. Ако подписаният бит е 0, това означава, че номерът е положителен. Ако подписаният бит е 1, то числото е отрицателно.
Сравнение между подписания и неподписания Char:
Подписано Char | Неподписан Char | |
диапазон | -128 до +127 | 0 до 255 |
Типична битова ширина | 1 байт | 1 байт |
Пример (x = 10000010) | Подписан char x = -2 | Неподписан знак = 82 |
представителство | 1 бит = подписан бит 7 бита = битове с данни | 8 бита = битове с данни |
декларация | Подписан символ b | Неподписан знак a |