【发布时间】:2017-10-26 14:41:29
【问题描述】:
我有一个包含这一行的程序:
int xoredValue = (x ^ 0x41);
其中 x 是一个 int,我将它与它的二进制形式和十六进制代码进行异或运算。 0x41 表示一个 ascii 字母。我不想使用 0x41,而是想实现它
char a = 'a';
int xoredValue = (x ^ <hex of a>);
一段时间以来,我一直在想办法,结果它正在煎我的面条。有什么帮助吗?
【问题讨论】:
-
你应该可以做到
x ^ a -
表示不影响此处的行为。
x & 0x41等价于x & a。请注意,字符0x41是A而不是a。A、0x41和65都是相同的值。 -
哇,谢谢!它工作大声笑
-
十六进制只是一个值的表示。十六进制、二进制、八进制、十进制表示相同的值会做同样的事情。