| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 153353 | 任艺宸 | 二进制小数转十进制 | C++ | Wrong Answer | 1 MS | 272 KB | 565 | 2026-05-16 11:53:45 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ string s; cin>>s; int l=s.size(); double sum=0,p=1; int i=0; while(s[i]<l&&s[i]!='.')i++; for(int k=i-1;k>=0;k--){ sum+=(s[k]-'0')*p; p*=2; }p=2; for(int i=i+1;i<l;i++){ sum+=(s[i]-'0')*(1/p); p*=2; }cout<<sum; return 0; }
------Input------
0.111
------Answer-----
0.875
------Your output-----
-0.5625