题解 | #奇偶校验#

奇偶校验

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:27
明天又是董事长面,啥时候是个头啊
积极向上的林同学:董事长亲自面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务