来自数字列表的位整数值

Bit integer value from numerated list

如何从n中获取第n个值的整数值?

这很难表达,所以我只使用英语。如果我想要 1 中的第 3 个整数值...

1 = 1
2 = 3
3 = 4 <- (looking to get 4 using 3)
4 = 8
5 = 16 <- (or 16 using 5)
...

我可以做一个查找 table,但我确信有更好的解决方案。

$bitvalue = 5;

$intvalue = 2 ** ($bitvalue - 1);

// gives 16
echo $intvalue;

**运算符是幂运算符。所以我使用 2 的幂。