我对 C++ 不熟悉,所以当我在寻找破解的源代码时,当它看起来像是简短的 -223 或
foo = 0xde;// 222
unarfoo = ~(foo);// -223
被翻译成字符“!” 当我运行这行代码时......
cout << (char)(~(foo));// outputs "!"
这显然不是 ascii 翻译,因为 ascii 不对字符使用负数,所以我猜这是 C 编译独有的东西,因为当我尝试将任何负 short/int 翻译成 java 上的字符时,我得到的是一个“?”。
谁能详细说明到底发生了什么以及为什么?非常感激!