void bit_print(int a)
{
int n = sizeof(int)*CHAR_BIT;
int i;
int mask = 1<<(n-1);
for (i=1; i<=n; ++i)
{
putchar(((a&mask)==0)?'0':'1');
a <<= 1;
if (i%CHAR_BIT==0 && i<n)
putchar(' ');
}
}
CHAR_BIT在头文件limits.h中被定义,表示char类型的比特位数。
void bit_print(int a)
{
int n = sizeof(int)*CHAR_BIT;
int i;
int mask = 1<<(n-1);
for (i=1; i<=n; ++i)
{
putchar(((a&mask)==0)?'0':'1');
a <<= 1;
if (i%CHAR_BIT==0 && i<n)
putchar(' ');
}
}