这里是一个简单的问题。 XOR 运算符 (^) 有问题。我可以很好地对整数进行异或并得到正确的结果;但是,当对两个字符进行异或运算时,不会返回任何内容:
int main() {
char a = 'a';
char b = 'b';
char c;
c = a^b;
cout << c << endl;
}
没有任何反应。无输出。我在这里做错了什么。我正在尝试使用它来对具有给定 key 的字符串进行 XOR 加密,但此操作存在问题。我想我可以获取 ASCII 值并将其转换为相应的字符,但此工具将用于加密文件和纯文本,因此我想不惜一切代价避免这种情况。
最佳答案
'a' ^ 'b'
(0x61 ^ 0x62
) 结果为 3
,这是一个不可打印的字符, ASCII ETX
,因此没有打印输出。
关于c++ - 异或运算符 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504444/