发表于 2021-1-27 15:35

申请会员ID:wangwangwang_

申请会员ID:wangwangwang_
申请邮箱:1664028504@qq.com
简单的解释一下这段代码
```java
/**
   * java位运算
   * 按位与 & 两个相应的二进制形式的对应的位数都为1,则结果为1,记为同1为1,否则为0
   * 例: int a = 4,b = 5; a&b ==> 结果为4
   *先把a和b转为二进制
   *a = 100
   *b = 101
   *a&b = 100 转成十进制就是4
   *
   *异或 ^ 和按位与 &相反 相同为0,不同为1,不做解释
   *移位运算
   *左 移 (<< ) 右边空出的位用0填补高位左移溢出则舍弃该高位。
   *右 移 (>> ) 左边空出的位用0或者1填补。正数用0填补,负数用1填补。注:不同的环境填补方式可能不同;低位右移溢出则舍弃该位。
   *   a << 1 代表a转成二进制向左移一位; a >> 1 代表a转成二进制向右移一位
   */
public class C0239e {
    static {
      ByteBuffer.allocate(8); // 静态代码块,类加载的时候会执行
    }
    public static String a(byte[]bArr) {/* C0239e.a 函数*/
      StringBuilder sb = new StringBuilder();
      int i = 65535;
      for (byte b2: bArr) {
            i ^= b2 & 255; //等价于 i = i ^ (b2 & 255)
            for (int i2 = 0; i2 < 8; i2++) {
            // 三元运算符 (i & 1) != 0 为true i= (i >> 1) ^ 40961 否则 i = i >> 1
                i = (i & 1) != 0 ? (i >> 1) ^ 40961 : i >> 1;
            }
      }
      String hexString = Integer.toHexString(i);
      // 三元运算符 (hexString.trim().length() != 4 && hexString.trim().length() == 3)
      // true 返回 a.a(sb, "0", hexString) 应该有个类a,a类有个静态方法a,接受参数StringBuilder,String,String 返回一个String
      // false 返回 hexString
      return (hexString.trim().length() != 4 && hexString.trim().length() == 3) ? a.a(sb, "0", hexString) : hexString;
    }
}
```

Hmily 发表于 2021-1-27 18:05

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:wangwangwang_