How to print the bits of a number in C

3 Answers

0 votes
#include <stdio.h>

void print_bits(unsigned int n) { 
	int bit;
	for (int i = 31; i >= 0; i--) {
		bit = n >> i;
		if (bit & 1)
			printf("1");
		else
			printf("0");
	}
	printf("\n");
}

int main(int argc, char **argv) 
{
	int n = 1358; 
	
	print_bits(n);

	return 0; 
}
    
      
/*
run:
    
00000000000000000000010101001110
 
*/

 



answered Mar 5, 2019 by avibootz
0 votes
void print_bits(unsigned int n) { 
    for (int i = 31; i >= 0; i--)
       printf("%d", (n >> i) & 1);
	printf("\n");
}

int main(int argc, char **argv) 
{
	int n = 1358; 
	
	print_bits(n);

	return 0; 
}
    
      
/*
run:
    
00000000000000000000010101001110
 
*/

 



answered Mar 5, 2019 by avibootz
edited Mar 5, 2019 by avibootz
0 votes
#include <stdio.h>

void print_bits(unsigned int n) { 
    if (n > 1) 
        print_bits(n>>1); 
       
    printf("%d", (n & 1));
}
 
int main(int argc, char **argv) 
{
    int n = 1358; 
     
    print_bits(n);
 
    return 0; 
}
     
       
/*
run:

10101001110
  
*/

 



answered Mar 19, 2019 by avibootz

Related questions

1 answer 124 views
1 answer 126 views
1 answer 141 views
1 answer 110 views
1 answer 136 views
136 views asked Jul 12, 2022 by avibootz
1 answer 157 views
157 views asked May 5, 2017 by avibootz
...