按位运算符:使用位操作打印数字1到100

时间:2015-08-03 07:59:00

标签: c algorithm bit-manipulation

我相信可以使用按位运算或位操作生成数字1到100,而不是传统的增量指令。

这样做的可能方法是什么?

1 个答案:

答案 0 :(得分:4)

我相信有几种方法可以实现它。其中一个是使用tilde运算符~x,它是一个按位补码,等于-(x+1)

int increase(int x){
   return (-(~x));
}

使用上述功能增加值并打印出来。

除了我自己的回答,我找到了make an addition with bitwise operators的另一种方式。

int Add(int x, int y)
{
    if (y == 0)
        return x;
    else
        return Add( x ^ y, (x & y) << 1);
}

只需用1替换y即可获得另一种递增值的方法。