Run ID:3870

提交时间:2024-07-14 19:46:13

#include<iostream> #include<cmath> using namespace std; string dtob(double d){ if(d==0) return "0"; string bn,bd; long long dn=(long long)d,rem; double dd=d-dn; if(dn==0) bn="0"; else{ while(dn>0){ rem=dn%2; bn=char(rem+'0')+bn; dn/=2; } } if(fabs(dd)<1e-9) return bn; while(dd!=0) dd*=2,dn=(long long)dd,bd+=char(dn+'0'),dd-=dn; return bn+'.'+bd; } int main(){ double d; cin>>d; cout<<dtob(d); return 0; }