题解 | #奇偶校验#

奇偶校验

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 20:15
还能挽救吗?找同学帮忙看了一下&nbsp;字节怎么能如此对我
牛客26396789...:你这是严重红线,被发现你自己永远进不去,你那个同学直接走人,你还敢宣扬
点赞 评论 收藏
分享
炫哥_:哥们项目描述里面vector和mysql之类的都要写吗,直接开头技术栈巴拉巴拉就行了,完全不是技术点啊
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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