我相信可以使用按位运算或位操作生成数字1到100,而不是传统的增量指令。
这样做的可能方法是什么?
答案 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即可获得另一种递增值的方法。