双重检查包含或声明

时间:2011-07-18 08:23:22

标签: java bitwise-operators

嗯,我刚问了一个简单的问题 ~(i + -1) < -1原来是i > 1

制作一个JAVA去混淆器,这就是我到目前为止所做的...我只是想让别人告诉我哪些我做错了?如果有任何只是双重检查。

~i > -1i < 0

~i < -1i > 0

~i > ~classA.vari < classA.var

~i >= ~ji <= j

~i <= ~bi >= b

~i == -1i == 0

~classA.var < -1classA.var > 0

~classA.var > -1classA.var < 0

~classA.var == ~classB.varclassA.var == classB.var

~(-1 + i) < -1i > 1

~(i + -1) < -1i > 1

~(i & 0x22) != -1 (i & 0x22) == 0&lt; - 似乎wrong ..

Eng.Fouad

似乎是正确答案

~(i & 0x22) != -1目前为(i & 0x22) != 0&lt; - 正确。

这些是我的deobfuscator目前支持的所有模式..可能会找到更多。

(任何错误的?)我担心那些带有==标志的人可能是错的..我已经测试了它们并且它们似乎有效......

谢谢我感谢你的支持,我是编程半年的编程初学者,数学不是我的强项。

1 个答案:

答案 0 :(得分:1)

只需将~x替换为-x - 1

  • ~i > -1 ==&gt; -i - 1 > -1 ==&gt; -i > 0 ==&gt; i < 0
  • ~i < -1 ==&gt; -i - 1 < -1 ==&gt; -i < 0 ==&gt; i > 0

等等。