打印
|76543210|76543210|76543210|76543210|76543210|
先打印7 在顺序打印到0, 把一个数分成8位来看
算法1:
#include
#include
#include
void Print_bit(int* s, int n)
{
unsigned int i, j;
for(i=0;i<7;i++){
for(j=0;j fprintf(stderr, "%2d",(s[j]/(unsigned int)pow(2, i))%2);
}
fprintf(stderr, "\n");
}
}
int main(void)
{
int s[8]={1,2,3,4,5,6,7,8};
Print_bit(s, sizeof(s)/sizeof(int));
return 0;
}
算法2: 这个是分别打印每个数的7到0位。和上面的打印顺序不同
#include
#include
void print_bit(int *s, int len, int n)
{
int i;
for(i = 0; i < len; i++) {
int ii = 1;
ii <<= (n - 1);
while(ii >= 1) {
printf("%d ", (ii & s[i]) > 0);
ii >>= 1;
}
printf("\n");
}
}
int main(void)
{
int s[]={1, 2, 3, 4, 5, 6, 7,8};
print_bit(s, sizeof(s)/sizeof(s[0]), 8);
return 0;
}
阅读(1235) | 评论(0) | 转发(0) |