C语言中在二进制数末尾追加一位

发布于 2025-01-10 15:25:43 字数 596 浏览 0 评论 0原文

我想用C语言向二进制数添加一位,我对C语言很陌生,所以请不要因为这样的问题来评判我。我会很高兴,答案会非常有帮助:) 这是我的代码块:

void helloworldToBinary () {
    int i;  
    char *string = "hello world";
    for(i = 0 ; i < 8 * strlen(string); i++)
        printf("%d", 0 != (string[i/8] & 1 << (~i&7)));
            
    printf("\n");
}

如果有帮助,这就是现在的输出:

0110100001100101011011000110110001101111001000000111011101101111011100100110110001100100 

这是我想要的输出:

01101000011001010110110001101100011011110010000001110111011011110111001001101100011001001

I'd like to add one single bit to a binary number in C, I'm pretty new to C, so please don't judge me because of such questions. I'd be very happy and a answer would be very helpful :)
Here's my code block:

void helloworldToBinary () {
    int i;  
    char *string = "hello world";
    for(i = 0 ; i < 8 * strlen(string); i++)
        printf("%d", 0 != (string[i/8] & 1 << (~i&7)));
            
    printf("\n");
}

If it helps, this is the output now:

0110100001100101011011000110110001101111001000000111011101101111011100100110110001100100 

And this is the Output I'd want:

01101000011001010110110001101100011011110010000001110111011011110111001001101100011001001

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文