Do 'a' and '0' always have positive values even if char is signed?

Viewed 439

Depending on the environment and compiler settings, the type char can be signed or unsigned by default, which means the range of values for single character constants on 8-bit 2s complement systems can be either -128..127 or 0..255.

In the ubiquitous ASCII character set, its ISO-8859-X extensions or the UTF-8 encoding, upper- and lowercase letters as well as digits have values below 127.

But such is not the case with the EBCDIC character set:

'A' is 0xC1, 'a' is 0x81 and '1' is 0xF1.

Since these value are above 127, does it mean the type char must be unsigned on 8-bit EBCDIC systems? Or can 'a', 'A' and '1' have negative values?

What about other character sets? Can the letters or digits ever have negative values?

1 Answers
Related