| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 147340 | 谢绍澜 | 二进制小数转十进制 | C++ | Accepted | 0 MS | 280 KB | 586 | 2026-02-04 15:16:45 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<vector> #include<set> #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ string a; cin>>a; double s1=0.5,sum=0; int n,l,s=1; n=a.find('.'); l=a.size(); for(int i=n-1;i>=0;--i){ sum+=(a[i]-'0')*s; s*=2; } for(int i=n+1;i<l;i++){ if(a[i]=='1') sum+=s1; s1/=2; } cout<<sum; }