我想计算x = x * 2 + 1;
在大多数编程语言中,
x = x*2;
可以写成x *= 2;
有没有办法节省更多空间?
答案 0 :(得分:3)
x += x + 1
怎么样?
与x = x * 2 + 1
相同(结果),但字符较少。
你也可以使用x += -~x
,但最初要理解起来有点困难。
编辑:
我也尝试了x += ++x
,它也和x = x * 2 + 1
一样。但我不能停止对这个陈述感到邪恶,因为它在一个陈述中分配了两次变量。
答案 1 :(得分:2)
x *= 2; x++;
怎么样?这比x = x * 2 + 1;
短,结果相同。
答案 2 :(得分:1)
这也是一种可行的方式
x*=(2+1/x)