#include <stdio.h>
#include <limits.h>
#include <limits.h>
void bit_print(int a);
void main()
{
int a;
printf("please input a num:\n");
scanf("%d",&a);
printf("it's bit is:\n");
bit_print(a);
printf("\n");
}
{
int a;
printf("please input a num:\n");
scanf("%d",&a);
printf("it's bit is:\n");
bit_print(a);
printf("\n");
}
void bit_print(int a)
{
int i;
int n = sizeof(int) * CHAR_BIT;
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(' ');
}
}
}
{
int i;
int n = sizeof(int) * CHAR_BIT;
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_BIT的值是8。它表示一个char的位数,或者一个字节所包含的位数。
转载于:https://blog.51cto.com/qq164587043/87619