c++ - 将 8 个位置的 int 数组转换为 char

Posted

技术标签:

【中文标题】c++ - 将 8 个位置的 int 数组转换为 char【英文标题】:c++ - Convert an int array of 8 positions to char 【发布时间】:2016-10-11 00:40:32 【问题描述】:

我有一个代表 8 位的 8 个位置的 int 数组。

int zBits[8]=0, 1, 1, 1, 1, 0, 1, 0;

zBits 数组是以位为单位的字符“z”(十六进制中的“7a”)(http://www.utf8-chartable.de/)。

如何使用 c++ 将这个 int 数组 (zBits) 转换为 "z" 字符?

【问题讨论】:

【参考方案1】:

最直接的方法是直接:

char z = (zBits[7]     ) |
         (zBits[6] << 1) |
         (zBits[5] << 2) |
         (zBits[4] << 3) |
         (zBits[3] << 4) |
         (zBits[2] << 5) |
         (zBits[1] << 6) |
         (zBits[0] << 7);

如果你愿意,你可以将它改写成一个稍微短一些的循环。

【讨论】:

以上是关于c++ - 将 8 个位置的 int 数组转换为 char的主要内容,如果未能解决你的问题,请参考以下文章

android:如何将 int[] 转换为 OpenCV Mat c++?

在 C++ 中使用 atoi 将 char 数组转换为 int 值

Arduino 串行返回奇怪的数字 + 无法将 char 数组转换为 int C++

如何在 C++ 中将数字字符串转换为 int 数组 [重复]

c++ string int

如何在c ++中将int数组转换为字节数组[重复]