printBits('A') 的输出假设为 0100 0001,但我得到的是 0100 0001 0100 1101 0000 0000。我似乎无法在下面的代码中找出问题所在。
unsigned char getBit(unsigned char c, int n) {
return c=(c&(1<<n))>>n;
}
void printBits(unsigned char c) {
int i=7;
while(i>=0){
printf("%d", (getBit(c,i--);
}
}