电脑计算中,304.725这是一个十进制的数,要转换成二进制?
答案:4 悬赏:60 手机版
解决时间 2021-06-07 04:36
- 提问者网友:不爱我么
- 2021-06-06 11:09
最终结果,谢谢各位了呐!
最佳答案
- 五星知识达人网友:行路难
- 2021-06-06 12:15
转换后:100110000
全部回答
- 1楼网友:山君与见山
- 2021-06-06 15:45
这是我编的10进制数转成2进制数,整数和小数都型行:
#include<stdio.h>
#include<stdlib.h>
#define Accuracy 1e-6
int main(){
int tenz,i,dot;
double num,tempx;
char ten[100],two[100],*p;
printf("请输入一个10进制数:");//小数部分不能超过6位
scanf("%s",&ten);
num=atof(ten);
tenz=num;
tempx=num-tenz;
for(i=0;tenz;i++)
{
if(tenz%2==0)two[i]='0';
else two[i]='1';
tenz/=2;
}
dot=i;
for(++i;tempx>Accuracy;i++)
{
tempx*=2;
if(tempx>=1)
{
two[i]='1';
tempx-=1;
}
else two[i]='0';
}
two[i]='\0';
printf("它的二进制为:");
for(i=dot-1;i>=0;i--)
printf("%c",two[i]);
if(strlen(two)>dot+1)
{
p=two+dot+1;
printf(".%s",p);
}
printf("\n");
return 0;
}
- 2楼网友:第四晚心情
- 2021-06-06 14:27
楼上几位都不对吧,你们算出来的是整数,用windows的计算机的自动转换是不能转换小数位为2进制的。
首先整数位304,先转换成16进制,等于1X16²+3X16¹+0x16º=130,然后每位转换成4位2进制,就是
0001 0011 0000,去掉最前面多余的0,也就是100110000。
再来小数位0.725, 以精确6位小数为例
0.725 X 2 = 1 .45
0.45 X 2 = 0 .9
0.9 X 2 = 1 .8
0.8 X 2 = 0 .6
0.6 X 2 = 1 .2
0.2 X 2 = 0 .4
就是0.101010,
加起来就是100110000.101010,希望能帮到你
- 3楼网友:话散在刀尖上
- 2021-06-06 13:38
叫你个办法用电脑-程序-附件计算器来换算比较快捷(二进制和十进制互换比较好用)
本题答案:100110000
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯