| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 68571 | 胡家豪 | 二进制小数转十进制 | C++ | Accepted | 1 MS | 280 KB | 511 | 2024-03-23 19:45:52 |
#include <iostream> #include <cmath> using namespace std; int main(){ string s; cin >> s; int dian = s.find("."); double ans = 0; long long len = s.size(); if(dian == -1){ for(int i = len - 1 ; i >= 0 ; i--){ ans += (s[i]-48)*pow(2,len-1-i); } cout << ans; return 0; }else{ for(int i = dian - 1 ; i >= 0 ; i--){ ans += (s[i]-48)*pow(2,dian-1-i); } for(int i = dian + 1 ; i < len ; i++){ ans += (s[i]-48)*pow(2,dian-i); } cout << ans; return 0; } }