如何将char转换为二进制?

Bla*_*ary 6 c binary char

有没有一种简单的方法将字符转换为二进制表示?

我试图将消息发送到另一个进程,一次一个位.因此,如果消息是"Hello",我需要先将"H"转换为二进制,然后按顺序发送这些位.

存储在阵列中将是优选的.

感谢任何反馈,伪代码或实际代码将是最有帮助的.

我想我应该提到这是为了让学校的作业能够学习信号......这只是学习它们的有趣方式.SIGUSR1用作0,SIGUSR2用作1,并且重点是从一个进程向另一个进程发送消息,假装环境正在锁定其他通信方法.

Mur*_*los 13

你只需要为每个位循环做一个移位并做一个逻辑AND来获得该位.

for (int i = 0; i < 8; ++i) {
    send((mychar >> i) & 1);
}
Run Code Online (Sandbox Code Playgroud)

例如:

unsigned char mychar = 0xA5; // 10100101

(mychar >> 0)    10100101
& 1            & 00000001
=============    00000001 (bit 1)

(mychar >> 1)    01010010
& 1            & 00000001
=============    00000000 (bit 0)
Run Code Online (Sandbox Code Playgroud)

等等...