#include<stdio.h>#define N 10,下面我们就来聊聊关于c语言10进制转2进制代码?接下来我们就一起去了解一下吧!

c语言10进制转2进制代码(c语言-10进制转2进制)

c语言10进制转2进制代码

#include<stdio.h>

#define N 10

#define M 100

void fun10_2_Z(long number)//十进制整数部分转二进制

{

char ch[M];

int len=0;

if(number==0)

{

printf("%d",number);//如果整数部分为零直接输出

}

else

{

while(number)

{

ch[len ]=number%2;//余数放入数组存储

number=number/2;//得出的整数递归除2

}

for( ;len>0;len--)//逆向输出

{

printf("%d",ch[len-1]);

}

}

}

void fun10_2_X(double number) //十进制小数部分转二进制

{

int i,len=0;

int arry[N];

while(number)

{

int temp = (int)(number*2);

arry[len ]=temp;

if(len==N)

break; //控制小数点后不超过十位

number = 2*number-temp;

}

printf(".");

for(i=0;i<len;i )

{

printf("%d",arry[i]);

}

}

int main()

{

double number;

scanf("%lf",&number);

long t=(int)number;//整数部分

double m=number-t;//小数部分

fun10_2_Z(t);

fun10_2_X(m);

return 0;

}