在鍵盤上輸入一個十進制正整數,将其轉換為對應的二進制數,并在螢幕上輸出!
方法一:
#include <stdio.h>
typedef struct binary
{
long remainder; //餘數
long binary; //二進制數
} Binary;
Binary bin;
int main()
{
int i=1,num;
printf("請輸入一個正整數:\n");
scanf("%d", &num);
if (num >= 0)
{
while (num != 0)
{
bin.remainder = num % 2;
bin.binary += i * bin.remainder;
num /= 2;
i *= 10;
}
printf("這個數轉為二進制為:%ld", bin.binary);
}
else
printf("您輸入的數非法!");
return 0;
}
方法二:
#include <stdio.h>
int main()
{
int remainder = 0; //餘數 ,二進制輸出為0,1組成,這裡最好用long, int的表示範圍較小;
int binary = 0; //二進制數
int i = 1;
int num = 0;
printf("請輸入一個正整數:\n");
scanf("%ld", &num);
if (num >= 0)
{
while (num != 0)
{
remainder = num % 2;
binary += i * remainder;
num /= 2;
i *= 10;
}
printf("這個數轉為二進制為:%ld", binary);
}
else
printf("您輸入的數非法!");
return 0;
}