递归地将C中的8位数转换为8位二进制数

时间:2016-01-14 21:58:22

标签: c recursion binary bits

我如何在C中编写一个递归解决方案呢? 例如,如果我输入9,则应输出00001001

1 个答案:

答案 0 :(得分:1)

#include <stdio.h>
#include <stdint.h>

void p(uint8_t n, int times){
    if(times){
        p(n >> 1, times-1);
        putchar("01"[n & 1]);
    }
}

void print_bin8(uint8_t num){
    p(num, 8);
}

int main(void){
    print_bin8(9);
    return 0;
}