【发布时间】:2017-01-08 21:24:23
【问题描述】:
我想知道为特定数字获取基于 (-2) 的二进制位的好算法。
所以让我定义基于 (-2) 的二进制位。
位是 1 或 0 的二进制元素数组。
此N 长度位A 表示的数字K 计算如下:
K = A[0] * (-2 ^ 0) + A[1] * (-2 ^ 1) + A[2] * (-2 ^ 2) + ... + + A[N-1] * (-2 ^ (N-1))
例如,位 00011 代表数字 8 因为
1*(-2^4) + 1*(-2^3) + 0*(-2^2) + 0*(-2^1) + 0*(-2^0)
所以问题是当定义数字时,上面解释的计算最短位的好算法是什么。
【问题讨论】: