Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
79554 | Kevin | 二进制小数转十进制 | C++ | Accepted | 1 MS | 276 KB | 364 | 2024-07-08 14:49:00 |
#include <bits/stdc++.h> using namespace std; int main() { char b[100]; double ans=0; scanf("%s",b); int len=strlen(b); int k=0; while(b[k]!='.'&&k<len) k++; for(int i=0,j=k-1;i<k,j>=0;i++,j--){ ans+=((b[j]-'0')*pow(2,i)); } int j=-1; for(int i=k+1;i<len;i++) { ans+=((b[i]-'0')*pow(2,j)); j--; } cout<<ans; return 0; }