将ASCII字符串转换

将ASCII字符串转换

我正在尝试将ASCII字符串转换成二进制,这样我就可以给它添加奇偶校验(Hamming码)但结果一点也不好。
如果我在输入中输入“A”,它应该返回:
01000001号
我用“B”试过了但它没有返回

unsigned char bits[8];
for(int i = 8; i >= 1; i--){

我预计“A”的输出为01000001
但实际产量是00100000
ABC或B或C相同

最佳答案

i被一个关闭,因此您正在访问元素bitC[8]bitC[1](即使bitC[8]超出界限),并且您正在打印位8到1而不是位7到0。
替换

for(int i = 8; i >= 1; i--){

具有
for(int i = 8; i--; ){

关于c - 将ASCII字符串转换为二进制以添加奇偶校验,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58193523/

10-10 13:49