C语言将十进制转换为二进制的程序

如何编写C语言程序将十进制数转换为二进制数并附带实际示例?要将十进制数转换为二进制数 – 首先,将原始值除以2。接下来,将商除以2。重复相同的步骤,直到给定的数为零。

C语言将十进制转换为二进制的示例程序

此将十进制转换为二进制的程序使用For循环将用户输入的十进制值转换为二进制值

 #include <stdio.h>
int main() 
{
    int a[10], number, i, j;
    printf("\n Please Enter the Number You want to Convert  :  ");
    scanf("%d", &number);
    
    for(i = 0; number > 0; i++)
    {
        a[i] = number % 2;
        number = number / 2;
    }
    
    printf("\n Binary Number of a Given Number =  ");
    for(j = i - 1; j >= 0; j--)  {
        printf(" %d ", a[j]);
    }
    printf("\n");
    return 0;
}
Program to Convert Decimal to Binary Example

在此将十进制转换为二进制的程序中,我们首先使用了For循环。这里,number = 5

第一次循环:for(i = 0; Number > 0; i++)
for(i = 0; 5 > 0; 0++) – 条件为真
a[0] = number % 2 => 5 % 2 = 1
number = number / 2 = 2.5

第二次循环:for(i = 1; 2 > 0; 1++)
a[1] = 2.5 % 2 = 0
number = 2.5 / 2 = 1.25

第三次循环:for(i = 2; 1 > 0; 2++)
a[2] = 1.25 % 2 = 1
number = 0

接下来,我们使用C编程的For循环来打印数组元素。

使用While循环将十进制转换为二进制

这是将十进制值转换为二进制数的另一个示例,为此,我们正在使用while循环。

 #include <stdio.h>
 
int main() 
{
    int a[10], number, i = 1, j;
    printf("\n Please Enter the Number You want to Convert  :  ");
    scanf("%d", &number);
    
    while(number  != 0)
    {
        a[i++] = number % 2;
        number = number / 2;
    }
    
    printf("\n Binary Number of a Given Number =  ");
    for(j = i - 1; j > 0; j--)  {
        printf(" %d ", a[j]);
    }
    return 0;
}

十进制到二进制的输出


 Please Enter the Number You want to Convert  :  25

 Binary Number of a Given Number =   1  1  0  0  1 

使用函数将十进制转换为二进制的C语言程序

在此程序中,我们使用了函数按位与运算符来转换十进制值到二进制。

 #include <stdio.h>

void Decimal_to_Binary(int number)
{
    int j;
    for(int i = 31; i >= 0; i--)
    {
        j = number >> i;
        
        if(j & 1)
            printf("1");
        else
            printf("0");
    }
}
int main() 
{
    int number;
    
    printf("\n Please Enter the Number You want to Convert  :  ");
    scanf("%d", &number);
    
    Decimal_to_Binary(number); 
            
    return 0;
}

十进制到二进制的输出


 Please Enter the Number You want to Convert  :  32
00000000000000000000000000100000