中易网

c语言十进制小数转为二进制

答案:3  悬赏:70  
解决时间 2021-01-15 19:41
c语言十进制小数转为二进制
最佳答案
看一下程序:
#include
#include

#define NUM 2
#define ZERO 0.000001
//整数部分的转换
void integer(int n)
{
if(n>0)
{
integer(n/NUM);
printf("%d",n%NUM);
}
}
//小数部分的转换
void decimal(double m)
{
if(m>ZERO)
{
m=m*NUM;
printf("%d",(long)m);
decimal(m-(long)m);
}
}

int main()
{
double f;
long n;

printf("请输入一个10进制的小数:");
scanf("%lf",&f);
if(f<0)
{
printf("-");
f=-f;
}
n=(long)f;//整数部分
printf("转换成%d进制的小数为:",NUM);
integer(n);
printf(".");
decimal(f-n);//小数部分的转换
printf("\n");
system("pause");
return 0;
}
全部回答
#include
void trans(int x)
{
int a[30];
int i=0,rem;
do{
rem=x%2;x=x/2;
a[i]=rem;
i++;
}while(x!=0);
while(i>0)
printf("%d",a[--i]);
printf("\n");
}
void main()
{
int d;
printf("请输入一个十进制的正整数:\n");
do scanf("%d",&d);while(d<0);
trans(d);
}
十进制转换成R进制小数部分采用‘乘R取整’的方法 即小数部分连续的乘以R,保留每次相乘的整数部分,知道小数部分为0或达到精确度的要求为止,将得到的整数部分按照得到的顺序排流列即为小数部分
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
回民和汉民不能结婚吗?
太白妖星是什么意思
电脑用固态硬盘好,还是用1T希捷机械硬盘。那
五大素质八大心态感悟
求小说啦!!!!Les小说大量求啊!!!!!
映美 fp-312k是多少针的
中央民族大学法学实力怎么样啊
99元鲜花包月叫什么
用诗经中最唯美的句子取名字,男孩姓于
西安在安阳什么方向
加油站(693县道)地址有知道的么?有点事想过
出口船舶到印尼,卖方需要准备什么文件?
潞安集团王庄煤矿的煤矿发展
求风系列,或者其他也行,,年龄越小越好
像精精精屁,这样的词有那些?
推荐资讯
谁知道百路达HUD是做什么的?
鼎鑫旅行社地址好找么,我有些事要过去
若是当招聘时老是遇见别人说不适合应该怎么半
丽之美美容养生馆地址在什么地方,我要处理点
大公鸡的叫声用什么字可以说明?
问:我每个月400美元可以在上海生活吗
用什么模拟器能玩[TGFans电玩迷]Bleach_-_Hea
生不起孩子是怎么回事?
51比50化简之后是多少?
18款A4L真的问题很多吗
求下列函数的基本初等函数复合y=tan^3根号下x
醴陵湘南宾馆地址在什么地方,想过去办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?