利用位运算的模四算法

2019-04-14 16:28发布

将数列a=1,2,3,4,5,6,7...变成4,4,4,4,8,8,8,8,12,12...一个很巧妙的办法((a+3)>>2)<<2,当然不用位运算就可以用(a+3)-(a+3)%4// 模4编号的实现 #include #include int main() { /* for(int i=1;i<=100;i++) { //printf("%d %d ",i,((i+3)>>2)<<2); printf("%d %d ",i,3-(i+3)%4); if(i%4==0) printf(" "); } */ int width=10,height=8; printf(" 顺序编号 "); for(int i=0;i