首页 > 编程知识 正文

带小数十进制转化为二进制,小数十进制转换成二进制

时间:2023-05-06 06:41:41 阅读:240856 作者:273

#include<stdio.h>

#defineN10

#defineM100

voidfun10_2_Z(longnumber)//十进制整数部分转二进制

charch[M];

intlen=0;

if(number==0)

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

else

while(number)

ch[len++]=number%2;

number=number/2;

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

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

voidfun10_2_X(doublenumber)//十进制小数部分转二进制

inti,len=0;

intarry[N];

while(number)

inttemp=(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]);

intmain()

doublenumber;

scanf("%lf",&number);

longt=(int)number;//整数部分

doublem=number-t;//小数部分

fun10_2_Z(t);

fun10_2_X(m);

return0;

运行结果:

扩展资料:

十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

例、把173D转换为二进制数。

解:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。