我正在尝试将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/