1.功能:
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。
//基本用法
bitset<4> bitset1; //无参构造,长度为4,默认每一位为0
bitset<8> bitset2(12); //长度为8,二进制保存,前面用0补充
string s = "100101";
bitset<10> bitset3(s); //长度为10,前面用0补充
char s2[] = "10101";
bitset<13> bitset4(s2); //长度为13,前面用0补充
cout << bitset1 << endl; //0000
cout << bitset2 << endl; //00001100
cout << bitset3 << endl; //0000100101
cout << bitset4 << endl; //0000000010101
问题描述
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如'3’,输出:10110011)。
输入描述:
输入包括一个字符串,字符串长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据, 对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
示例1
输入:
3 3a
输出:
10110011 10110011 01100001
#include<iostream>
#include<string>
#include<bitset>
using namespace std;
int main()
{
string str;
while(cin>>str)
{
for(int i=0;i<str.size();i++)
{
bitset<8> bit(str[i]);//将单个字符转换成对应的二进制编码
if(bit.count()%2==0)//判断奇偶性
{
bit[7]=1;
}
cout<<bit<<endl;
}
}
return 0;
}