C:使用位转换为整数
我需要从 0、1 的位数组中获取整数值。
我想传递整数数组并使用位运算符获取十进制数。
以下是我尝试过但在尝试传递 int 数组时不起作用的方法,它适用于char* array。有什么方法可以传递 int 数组并将其转换为十进制数?我想使用位运算符。
int toInt(int* bin_arr) {
int val = 0;
while (*bin_arr)
val = (val << 1) | (*bin_arr++ == '1');
return val;
}
提前致谢。