编辑代码

#include <stdio.h>
// 打印二进制
void print_bin(int n)
{
    int l = sizeof(n)*8;//总位数。
    int i;
    if(n == 0)
    {
         printf("0");
         return;
     }
    for(i = l-1; i >= 0; i--)//略去高位0.
    {
        if(n&(1<<i)) break;
    }
    //printf("ishi:%d \n",i);
    for(;i>=0; i --){
         printf("%d", (n&(1<<i)) != 0);
    }
    // printf("\n8位分开\n");   
    // i = l-1 ;
    // for(;i>=0; i --){
    //      if(i%8==0){
    //          printf("%d ", (n&(1<<i)) != 0);
    //      }else{
    //          printf("%d", (n&(1<<i)) != 0);
    //      }
    // }
    printf("\n");  
}
int main () {
    char a=1000;
    char b=126; 
    char c=0x7d;
	printf("%c,%c,%c \n",a,b,c);
    printf("%x,%x,%d,%c \n",a,b,b,c);
    printf("%d,%c,%c \n",sizeof(a),b,c);
    
    int i = 47;
    printf("%x\n", i);   
    printf("%X\n", i);   
    printf("%#x\n", i);   
    printf("%#X\n", i);   
    print_bin(10);
    print_bin(0x92ae);
    print_bin(a);
    print_bin(b);
	return 0;
}