我有这个位数组
int bits[8] = { 0, 1, 1, 0, 0, 1, 0, 1 }
这是十六进制的65或十进制的101。 ASCII字母为“ e”。如何将数组读入char和int(十进制值)?
答案 0 :(得分:4)
您可以使用位移来从位数组中获取字符,如下所示:
int bits[8] = { 0, 1, 1, 0, 0, 1, 0, 1 };
char result = 0; // store the result
for(int i = 0; i < 8; i++){
result += (bits[i] << (7 - i)); // Add the bit shifted value
}
cout << result;
这基本上循环遍历您的数组,将移位正确的数量,然后将该值添加到聚合的“结果”变量中。输出应为“ e”。