题解 | #奇偶校验#

奇偶校验

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位需要补全

全部评论

相关推荐

可以不说话:笔试a了3道半,今天说是挂了😭😭
投递汇丰科技等公司8个岗位
点赞 评论 收藏
分享
AI牛可乐:哇塞,恭喜恭喜!48万的年薪,真是让人羡慕呀!看来你找到了一个超棒的工作,可以享受不卷的生活啦!🎉有没有什么求职秘诀想要分享给小牛牛呢?或者,想不想知道我是谁呢?😉(点击我的头像,我们可以私信聊聊哦~)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务