Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
69955 | 李星熠 | 二进制小数转十进制 | C++ | Accepted | 1 MS | 276 KB | 373 | 2024-04-12 19:34:39 |
#include<iostream> #include<string> using namespace std; int main() { string s; cin>>s; double w = 1, ans = 0; int pos = s.find('.'); for(int i = pos - 1; i >= 0; --i) { if(s[i] == '1') ans += w; w *= 2; } w = 0.5; for(int i = pos + 1; i < s.size(); ++i) { if(s[i] == '1') ans += w; w /= 2; } cout<<ans; return 0; }