C++-chartobit转换效率问题

C++-chartobit转换效率问题

晚风撩人 发布于 2017-04-28 字数 253 浏览 1229 回复 1

一般来说,char转换成bit类型 也就是1个字节转换为8个字节的过程,小型的数据量可以用循环移位实现,如果是几百兆的数据转换,如何实现效率更高??
恐怕是没有说清楚,是将字节码转为二进制序列,这个在通信行业中应用较多,比如字符为0xFE——>11111110序列

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2017-10-23 1 楼

一个简单的方法是查表。一个char数据映射到一个8字节整数上:

uint64_t lookup[256] = {
0x0, 0x01, 0x10,0x11
...
};
uint64_t convert(char n){ return lookup[n];}

你需要根据你的实际情况,考虑字节序的问题,在lookup中填上正确的数据,或者另写一段小程序生成这个表。

如果是写入到某个内存,也是方便的:

void convert_to(char n, void* dest){ *((uint64_t*)dest) = lookup[n];}