Print Binary Representation of an 8-bit or 16-bit Value

Code

#include <stdio.h>
#include <stdint.h>
#define SIZE(value) ((value<=255)?8:16) ;
void print_binary(uint16_t val) {
    // Your logic here
    int n=SIZE(val);
    int arr[n];
    for(int i=0;i<n;i++){
        arr[i]=0;
    }
    int j=0;
    while(val>0){
        arr[n-1-j]=(1&val);
        val=val>>1;
        j++;
    }
    for(int i=0;i<n;i++){
       printf("%d",arr[i]);
    }
}

int main() {
    uint16_t val;
    scanf("%hu", &val);
    print_binary(val);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10

Expected Output

00001010