Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3842 | 邓小龙 | 十进制小数转二进制 | C++ | Accepted | 0 MS | 256 KB | 626 | 2024-07-13 12:32:06 |
# include<iostream> using namespace std; double a; int x;//存整数 double y;//存小数部分 string sx,sy;//sx存转后的整数,sy存转后的小数 int main(){ cin>>a; x=a;//整数 y=a-x;//小数 //1.整数转二进制 while(x!=0){ char c= x%2+'0'; sx=c+sx; x/=2; } if(sx=="") sx="0"; //2.小数部分:循环乘2 if(y!=0){ sx=sx+'.'; for(int i=0;i<9&&y!=0;i++){ int t=y*2; char c=t+'0'; sx=sx+c; y=y*2-t; } } cout<<sx<<endl; return 0; }