我正在学习ASCII,以及它如何编码字符.根据我的理解(虽然我可能错了,因为我还在学习),但是ASCII将数字编码为字符.例如,像这样:
0011 0000 = 30 ='0'(这是一个编码字符)
0000 0000 = 0 = 0(这是实际数字)
表示两种不同类型的零编码.
题有没有办法显示ASCII 字符数据类型的真实数字?
我尝试了以下代码:
#includeint main(void) { char e = '0'; std::cout << e << std::endl; std::cout << sizeof(e) << std::endl; std::cin.get(); std::cin.get(); return 0; }
我知道这段代码与我想要完成的结果并不相符; 然而,这是我能想到的.我需要更好地理解如何通过C++语法实现这种转换.
另外,请原谅我有任何误导性的信息或标题.我还在学习编程的"绳索".
投了char
一个int
.
std::cout << static_cast<int>(e);
在char
实际上已经是一个整数,它只是超负荷operator<<
采取char
将其显示为字符.通过使用强制转换将类型更改为int
,我们将导致调用操作符的不同重载,其中一个被写入以显示为整数.