有一个简短的方法来计算x * 2 + 1?

时间:2016-04-08 04:09:05

标签: java

我想计算x = x * 2 + 1;

在大多数编程语言中,
x = x*2;可以写成x *= 2;

有没有办法节省更多空间?

3 个答案:

答案 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)