想知道有几种算法!
上面几个值的由来 128=1<<8; 84=1<<(3-1) | 1<<(5-1) | 1<<(7-1) 42 = 1<<(2-1) | 1<<(4-1) | 1<<(6-1) 1=1<<(1-1);
byte x = 21; var res = (x & 128)|((x&84)>>1)|((x&42)<<1)|(x&1); 因为byte只有8位,所以这种交换可以直接把值定出来 x & 128 就是取第8位 (x&84)>>1 取2,4,6位,再按照你的规则右移1位 后面两个同理 最后做一下或运算即可
引用 楼主 chungehenyy 的回复: 想知道有几种算法! 这是考谁呢?
110,551
社区成员
642,562
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧