| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 62870 | 杨宜炜 | 二进制小数转十进制 | C++ | Accepted | 1 MS | 276 KB | 381 | 2023-12-30 14:29:38 |
#include<bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; int d=s.find("."),len=s.size(); double ans=0; if(d==-1){ for(int i=len-1;i>=0;i--){ ans+=(s[i]-'0')*pow(2,len-1-i); } }else{ for(int i=d-1;i>=0;i--){ ans+=(s[i]-'0')*pow(2,d-1-i); } for(int i=d+1;i<len;i++){ ans+=(s[i]-'0')*pow(2,d-i); } } cout<<ans; }