В зависимости от настроек среды и компилятора тип char может быть подписан или неподписанным по умолчанию, что означает, что диапазон значений для одиночных символьных констант в 8-разрядных системах дополнений может быть либо -128..127, либо 0..255.
В вездесущем наборе символов ASCII его расширения ISO-8859-X или кодировка UTF-8, буквы верхнего и нижнего регистра, а также цифры имеют значения ниже 127.
Но это не так с набором символов EBCDIC:
'A' равен 0xC1, 'A' равен 0x81, а '1' равен 0xF1.
Поскольку это значение выше 127, означает ли это, что тип char должен быть неподписанным в 8-битных системах EBCDIC? Или могут 'A', 'A' и '1' иметь отрицательные значения?
Как насчет других наборов символов? Может ли буквы или цифры когда-либо иметь отрицательные значения?