-2

如果我有一个 char 包含一个十六进制值,例如 0x53,(S),我如何将其显示为“S”?

代码:

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

谢谢!

4

2 回答 2

5

没有存储十六进制值、十进制或八进制值的变量之类的东西。十六进制、八进制和十进制只是向编译器表示数字的不同方式。编译后的代码将以二进制表示所有内容。

这些语句都具有完全相同的效果(假设字符集是 ASCII):

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

因此,无论您如何为其分配值,都以与任何字符相同的方式打印字符。

于 2008-11-09T05:24:02.097 回答
1

只需使用以下内容,您已经回答了您的问题:

using namespace std;

int main() {
    char test = 0x53;
    std::cout << test << std::endl;
    return 0;
}
于 2008-11-09T06:13:31.153 回答