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++