Converting decimal number to binary in C

前端 未结 4 1820
日久生厌
日久生厌 2021-01-17 03:22

I\'m trying to convert a decimal number to binary but I somehow end up getting \'random\' ASCII symbols as an output. Here is my program:

#include 

        
4条回答
  •  误落风尘
    2021-01-17 04:07

    #include 
    #define MAX_SIZE 32
    
    int main()
    {
        unsigned int number = 0;
        int i = MAX_SIZE - 1;
        char binary[MAX_SIZE + 1];
        binary[MAX_SIZE] = '\0';
        printf("Enter a number: ");
        scanf("%u", &number);
    
        while(number!=0)
        {
            binary[i--] = '0' + (number & 1);
            number >>= 1;
        }
    
        while (i >= 0)
            binary[i--] = '0';
        printf("\n%s", binary);
    }
    

    Hope this helps....

提交回复
热议问题