All submissions

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

Code

#include <stdio.h>
#include <stdint.h>

void print_binary(uint16_t val) {
    uint16_t mask;
    uint8_t size = 8;

    if(val > 255)
        size = 16;
    
    uint8_t result[size + 1];
    int i = size - 1;

    mask = 0x1;
    while(val)
    {
        if(val & 0x1)
            result[i] = '1';
        else
            result[i] = '0';
        i--;
        val >>= 1;
    }
    if(i != -1)
    while(i > -1)
        result[i--] = '0';

    result[size] = '\0';
    printf("%s", result);
}

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

Solving Approach

 

 

 

Loading...

Input

10

Expected Output

00001010