易百教程

37、如何在C语言中以二进制格式打印十进制数?

参考以下代码实现:

#define CHAR_BITS  8  // size of character
#define INT_BITS  ( sizeof(int) * CHAR_BITS) //bits in integer
void PrintInBinary(unsigned n)
{
    char Pos = (INT_BITS -1);
    for (; Pos >= 0 ; --Pos)
    {
        (n & (1 << Pos))? printf("1"): printf("0");
    }
}