我知道字符的存储方式是首先将它们从 ASCII 表转换为等价的整数,然后将该整数转换为二进制。 我也知道这样一个事实,如果我将一个整数值分配给一个大于 ASCII 表中任何整数等价物的 char,那么只有该整数的二进制表示的最后 8 位将存储在我的 char 中. 但是我不明白的是,当我在 char 变量中插入一个不是有效字符的“char”值时发生了什么。
如果我对它们的存储方式的理解有误,也请纠正我。
#include <iostream>
using namespace std;
int main() {
char ch = '©';
char ch1 = '10';
cout << ch << endl;
cout << ch1 << endl;
}
这是我尝试在 VS Code 中运行此代码时的输出。