Ključna razlika: Podpisani char in nepodpisani char sta dva podatkovna tipa, ki se uporabljata v programiranju C. Tako nepodpisani kot podpisani znaki se uporabljajo za shranjevanje znakov in obsegajo območje 8 bitov. Nepodpisani znaki imajo vrednosti med 0 in 255, medtem ko imajo podpisani znaki vrednosti od –128 do 127 (na računalniku z 8-bitnimi bajti in dvema aritmetičnima komplementu).
C90 je omogočil C za uporabo ključnih besed, podpisanih in nepodpisanih z znakom. Pomembno je opozoriti, da se uporabljajo samo, če želite obdelati majhne vrednosti celih števil. Podpisani char in nepodpisani char sta 8-bitni bajti na 16-bitnem računalniku. Predvsem se razlikujejo po obsegu, ki ga predstavljajo. Obseg nepodpisanih znakov je od 0 do 255, medtem ko je velikost znaka ali znaka -128 do 127.
Pretvorbo znakov v int vrednosti samodejno opravi C. Vendar je še vedno odvisno od stroja, ki se odloči, da bo rezultat negativen ali ne. Zgornja črka A ustreza celi številki 65.
Izrazi nepodpisani in podpisani, ki se uporabljajo z znakom, pomeni, da če je vsebina teh osmih bitov interpretirana v celo število, lahko ti izrazi naredijo nekaj drugačnega. Tip podatkovnega znaka je običajno tipa nepodpisanega. V načinu C ++ in ANSI C pa obstaja možnost, da jih izrecno deklariramo kot podpisane ali nepodpisane. V nepodpisanih char 8 bitov se uporabljajo kot podatkovni bitov, medtem ko je v spominu predstavitev podpisanega znaka 1 bit (najpomembnejši bit) uporabljen za podpisani bit in 7 bitov se uporablja kot podatkovni bit. Če je podpisani bit 0, to pomeni, da je število pozitivno. Če je podpisani bit 1, je številka negativna.
Primerjava med podpisanim in nepodpisanim znakom:
Podpisan Char | Nepodpisan Char | |
Območje | -128 do +127 | 0 do 255 |
Tipična širina bitov | 1 bajt | 1 bajt |
Primer (x = 10000010) | Podpisan char x = -2 | Nepodpisan char = 82 |
Zastopanje | 1 bit = podpisan bit 7 bitnih podatkovnih bitov | 8 bitnih = podatkovnih bitov |
Deklaracija | Podpisan znak b | Nepodpisan char a |