Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
3868 孙浚轩 十进制小数转二进制 C++ Wrong Answer 0 MS 264 KB 482 2024-07-14 19:29:26

Tests(6/10):


Code:

#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; 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; }


Run Info:

------Input------
0.125
------Answer-----
0.001
------Your output-----
.001