10進数を2進数に変換するプログラム
Posted: 2009年10月30日(金) 19:04
基本的なことの質問で申し訳ないです。
以下のプログラムは入力された正の10進数を2進数に変換するプログラムです。
見ればすぐわかると思いますが自作した関数を使用して処理しています。
関数部分でどのような処理しているのか解説していただけませんか?
よろしかったらお願いします。
#include<stdio.h>
void binary(int);
int main(void)
{
int nu;
printf("Input Decimal:");
scanf("%d",ν);
if(nu>0){
printf("Binary:");
binary(nu);
printf("\n");
}
else if(nu==0){
printf("Binary:0\n");
}
else{
printf("Input error\n");
}
return 0;
}
void binary(int n) /*ここの部分からです。*/
{
int mod,div;
if(n>0){
mod=n%2;
div=n/2;
binary(div);
printf("%d",mod);
}
}
以下のプログラムは入力された正の10進数を2進数に変換するプログラムです。
見ればすぐわかると思いますが自作した関数を使用して処理しています。
関数部分でどのような処理しているのか解説していただけませんか?
よろしかったらお願いします。
#include<stdio.h>
void binary(int);
int main(void)
{
int nu;
printf("Input Decimal:");
scanf("%d",ν);
if(nu>0){
printf("Binary:");
binary(nu);
printf("\n");
}
else if(nu==0){
printf("Binary:0\n");
}
else{
printf("Input error\n");
}
return 0;
}
void binary(int n) /*ここの部分からです。*/
{
int mod,div;
if(n>0){
mod=n%2;
div=n/2;
binary(div);
printf("%d",mod);
}
}