#include<iostream> //实现字符的奇校验 void addParity(char c) { int count = 0; for(int i = 0;i < 8;i++) { if((c >> i) & 1)//相当于判断c的每一二进制位是否为1,统计1的数量 { count++; } } if(count%2 == 0) { c = c | (1 << 7);//1左移7位就是10000000,与c进行或运算后最高位必定是1,相当于在最高位加1 } for(int i = 7;i >= 0;i--)//逐个输出奇校验后c的二进制位 { std::cout << ((c >> i) & 1); } } int main() { std::string s; while (std::getline(std::cin, s)) { for(int i = 0;i < s.size();i++) { addParity(s[i]); std::cout << std::endl; } } }