哪位能给我详细的说说下面的方法会把传入的 value 过滤成什么效果 以及为什么会有这个效果?
小弟位运算太差了,希望能请位指点指点public int filter(int value) {
return ((value & 0xff00ff00) | ((value & 0xff0000) >> 16) | ((value & 0xff) << 16));
}
小弟位运算太差了,希望能请位指点指点public int filter(int value) {
return ((value & 0xff00ff00) | ((value & 0xff0000) >> 16) | ((value & 0xff) << 16));
}
value & 0x00ff0000 = 0B00 >> 16 = 000B
value & 0x000000ff = 000D << 16 = 0D00then, A0C0 | 000B | 0D00 = ADCB.
那这么说这个方法就是把value的二进制的 第一个8位 和 第三个8位 对换一下了
如果输入的是十进制 那么等于它对这个十进制做了什么有规律的改变呢?
也就是 这个方法输入 和 输出的 十进制 会有什么规律