如何将char转换为c ++中的位数组?

Stu*_*ntX 0 c++

我需要将一个字符串的每个字符作为一个位序列在一个数组中,或者只是循环遍历它,无论哪种方式都有效.这是我过去常常以ASM的方式做的事情,我不确定如何在c ++中完成.

编辑:我试图复制我用asm回来做的事情,在内存中读取文件并逐位遍历它,操纵每个位,做一些更多的加密并保存回来.

基本上是一个简单的加密.它不是一个家庭作业,也不是一个项目.

Gor*_*pik 6

标准库有一个类,std::bitset.它可能是你需要的.


Nem*_*ric 5

您可以使用位运算符遍历它:

unsigned char c = 'a'
for(int i = 0; i < 8; i++)
{
  std::cout << (c >> i) & 1 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

这将c向右移动i位置,并使用按位与来获取最低有效位的值。