如何将ascii char转换为C++中的十六进制?

Lil*_*ter 1 c++ hex

我有一个包含这一行的程序:

  int xoredValue = (x ^ 0x41);
Run Code Online (Sandbox Code Playgroud)

其中x是一个int,我用它和十六进制代码的二进制形式进行编码.0x41用于表示ascii字母.而不是使用0x41,我想成功

  char a = 'a';
  int xoredValue = (x ^ <hex of a>);
Run Code Online (Sandbox Code Playgroud)

我一直想弄清楚它有多久,它正在煎我的面条.有帮助吗?

Lig*_*ica 8

你没有.

数字是数字是数字.

0x41是一个数字,按65原样(反直觉地)'A'.无论是以十六进制,十进制,还是八进制,它都与XOR运算符的工作完全无关,后者适用于数字.

您的特定号码被调用a(因为这是您给它存储的变量的名称).

所以,只需写x ^ a.