Выходное значение ASCII C ++ - PullRequest
       12

Выходное значение ASCII C ++

0 голосов
/ 09 ноября 2008

Если у меня есть символ, который содержит шестнадцатеричное значение, например 0x53, (S), как я могу отобразить это как "S"?

Код:

char test = 0x53;
cout << test << endl;

Спасибо!

Ответы [ 2 ]

5 голосов
/ 09 ноября 2008

Нет такой вещи как переменная, которая хранит шестнадцатеричное значение, десятичное или восьмеричное значение. Шестнадцатеричные, восьмеричные и десятичные числа - это просто разные способы представления чисел компилятору. Скомпилированный код будет представлять все в двоичном виде.

Все эти операторы имеют точный одинаковый эффект (при условии, что кодировка ASCII):

test = 0x53; // hex
test = 'S';  // literal constant
test = 83;   // decimal
test = 0123; // octal

Так что печатайте символ так же, как и для любого символа, независимо от того, как вы присвоите ему значение.

1 голос
/ 09 ноября 2008

Просто используйте следующее, вы уже ответили на свой вопрос:

using namespace std;

int main() {
    char test = 0x53;
    std::cout << test << std::endl;
    return 0;
}
...