关于位求反操作符的问题
- C/C++ code
#include <iostream>using namespace std;int main(){ unsigned char a = 58;//二进制为:11 1010 cout << a << endl; a = ~a; //把 a 中所有二进制位逐位取反 cout << a << endl;//取反后二进制应该为:000101对应的ASCII应该是 一个桃花但是DOS下却是空白这是为什么? system("pause"); return 0;}//DOS下的输出结果是
+++++++++++++++++++++++++++++++++
:
请按任意键继续. . .
[解决办法]
unsigned char a = 58;//二进制为:0011 1010
取反后为:a = ~a; //把 a 中所有二进制位逐位取反 11000101
11000101对应的ASCII码就不是一个桃花