用于创建矩形的for循环中的模数

时间:2015-02-15 18:49:30

标签: algorithm for-loop bit-manipulation modulus

这是一个非常具体的问题,因为我只需要知道这个模式是否有名称,以及是否有更有效的方法。 (忽略for循环中明显的声明)

for (int i = 0; i < 8; i++) {

    int mod = i % 2;
    int mod2 = ((i % 4) / 2).ceil() & (mod * 15);

}

现在这输出了一个很酷的“01020102”模式,我需要构建一个矩形...但我不喜欢它的笨拙

现在这段代码可以访问一个模式中的数组,允许创建一个包含4个角和4个边的框(因为它访问[角长,evenside长度,奇数长度])

如果有人对此有更好的模式,如果不是那就太好了...我想这很好

1 个答案:

答案 0 :(得分:0)

我的代码中没有任何意义......

  • 但是有很多方法可以创建你需要的重复系列
  • 这里有几个例子

例1:

int tab[4]={0,1,0,2};
for (int i=0;i<8;i=(i+1)&3) output(tab[i]);
  • 使用表格

例2:

for (int i=0;i<8;i+=4) 
 {
 output(0);
 output(1);
 output(0);
 output(2);
 }
  • 直接输出