题解 | #奇偶校验#

奇偶校验

https://www.nowcoder.com/practice/729d11d043d8448e83befa1410b694fe

#include "bits/stdc++.h"

using namespace std;



void getAns(string msg) {

    for (int i = 0; i < msg.length(); ++i) {

        char c = msg[i];
        string str_c;
        int sum_one = 0;
        while (c) {
            int temp = c & 1;
            str_c += (char)(temp + '0');
            if (temp)
                sum_one++;
            c >>= 1;
        }
        while (str_c.length() < 7)
            str_c += '0';

        str_c += sum_one & 1 ? "0" : "1";
        std::reverse(str_c.begin(), str_c.end());
        cout << str_c << endl;
    }

}

int main() {
    string msg;
    while (cin >> msg) {
        getAns(msg);
    }
}

需要注意的是每个字符占位8bit,转换为二进制后如果位数不足8位需要补全

全部评论

相关推荐

Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
09-30 12:39
门头沟学院 C++
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务