Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
195 | Benson | 二进制小数转十进制 | C++ | Accepted | 0 MS | 284 KB | 377 | 2022-07-22 09:14:56 |
#include<iostream> #include<cstring> #include<cmath> using namespace std; int main() { string a; int i=0,j,s,k; double ans=0.0; getline(cin,a); s=a.size(); while(a[i]!='.') { i++; } k=s-1-i; for(j=i;j>0;j--) { ans=ans+(a[i-j]-'0')*pow(2,j-1); } for(j=s-i-1;j>0;j--) { ans=ans+(a[s-j]-'0')*pow(2,-k+j-1); } cout<<ans; return 0; }