有图无真相,求真相!
想知道有几种算法! 今天看一同学的做法,受刺激了!
只要实现交换位的算法就可,其他省略也可! 谢谢!
------最佳解决方案-------------------- byte x = 21;
var res = (x & 128)
------其他解决方案--------------------((x&42)<<1)
------其他解决方案--------------------(x&1);
因为byte只有8位,所以这种交换可以直接把值定出来
x & 128 就是取第8位
(x&84)>>1 取2,4,6位,再按照你的规则右移1位
后面两个同理
最后做一下或运算即可
------其他解决方案--------------------本人菜鸟,希望有会的都能发表下意见! 沙发自己做了!顶下
------其他解决方案--------------------((x&84)>>1)
------其他解决方案--------------------上面几个值的由来
128=1<<8;
84=1<<(3-1)
------其他解决方案-------------------- 1<<(5-1)
------其他解决方案-------------------- 1<<(7-1)
42 = 1<<(2-1)