Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
68571 胡家豪 二进制小数转十进制 C++ Accepted 1 MS 280 KB 511 2024-03-23 19:45:52

Tests(10/10):


Code:

#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; } }