Nøkkelforskjell: Signert char og usignert char er to datatyper som brukes i C programmering. Både usignert og signert char brukes til å lagre tegn og bestå av et område på 8 biter. Uegnede tegn har verdier mellom 0 og 255, mens signerte tegn har verdier fra -128 til 127 (på en maskin med 8 bit byte og to komplementarithetikk).
C90 aktivert C for å bruke søkeord signert og usignert med char. Det er viktig å merke seg at de bare brukes når små heltallverdier skal håndteres. Signert karbon og usignert karbon er begge 8 bit byte på en 16 bit maskin. De er hovedsakelig forskjellige i området som representerer dem. Utvalget av usignert kar er 0 til 255, mens størrelsen på karbon eller signert kar er -128 til 127.
Omformingen av char i int-verdier utføres automatisk av C. Det er imidlertid fortsatt avhengig av maskinen som bestemmer at resultatet vil være negativt eller ikke. Øvre etui A er ekvivalent til heltall på 65.
Begrepet usignert og signert brukt med char betyr at hvis innholdet av disse åtte bitene er tolket til et heltall, kan disse vilkårene gjøre noen forskjell. Tegndatatype er vanligvis av typen usignert som standard. Imidlertid er det i C ++ og ANSI C-modus et alternativ å eksplisitt deklarere dem som signert eller usignert char. I usignert char er 8 biter brukt som databit, mens i minnesrepresentasjon av signert char 1 bit (mest signifikant bit) brukes for signert bit og 7 biter blir brukt som databit. Hvis den signerte bit er 0 betyr det at nummeret er positivt. Hvis signert bit er 1, er tallet negativt.
Sammenligning mellom signert char og unsigned Char:
Signert Char | Unsigned Char | |
Område | -128 til +127 | 0 til 255 |
Typisk bitbredde | 1 byte | 1 byte |
Eksempel (x = 10000010) | Signert char x = -2 | Ubeskyttet char = 82 |
Representasjon | 1 bit = signert bit 7 bit = databiter | 8 bit = databiter |
Erklæring | Signert char b | Unsigned char a |