0.56化成二进制

来源:百度知道 编辑:UC知道 时间:2024/05/10 18:55:07
请问如何将十进制的0.56化成二进制(我化出来有循环)
请附方法

进制转换

输入一数与它的进制: 0.56 10

0.56 转换成10进制 = 0.56
0.56 转换成2进制 = .100011110101110000101000111101011100001010001111011
0.56 转换成8进制 = .43656050753412173
0.56 转换成16进制 = .8F5C28F5C28F6
Press any key to continue

#include<iostream.h>
#include<math.h>

void f1(int m, int n) {
if(m) { f1(m/n,n);
if(n<10) cout<<m%n;
else m%n>=10? cout<<char(m%n-10+'A') : cout<<m%n;
}
}

void f2(double m, int n) {
while(m) { if(n<10) cout<<int(m*n);
else m*n>=10? cout<<char(int(m*n)-10+'A') : cout<<int(m*n);
m = m*n - int(m*n);
}
}

void f(double m, int n) {
f1(m, n);
if(int(m) == m) return;
cout<<'.';
m -= int(m);
f2(m, n);
}

void f10(char c[], double m) {
cout<<' '<<c<<"