如果我想将二进制转换为十进制,有没有办法做到这一点:

假设:

newState[i-2] = 0,
newState[i-1] = 0,
newState[i] = 1

binary = newState[i-2], newState[i-1], newState[i]; // but if I did this, bin = 0, not 001.


我想这样做,所以我可以将二进制传递给另一种方法以转换为十进制。

最佳答案

您可以使用位旋转(假设newState[N]为0或1):

binary = (newState[i-2] << 2) |
         (newState[i-1] << 1) |
         (newState[i]);

关于c - 给变量赋值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2367505/

10-11 10:30