Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
128630 | 林嘉乐 | 二进制小数转十进制 | C++ | Accepted | 1 MS | 276 KB | 563 | 2025-08-18 17:05:33 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ double s=0; double p=1; char a[64]; cin>>a; int l=strlen(a); int i=0; while(a[i]!='.'&&i<l)i++; for(int j=i-1;j>=0;j--){ s+=(p*(a[j]-'0')); p*=2; } p=2; for(i+=1;i<l;i++){ s+=((1/p)*(a[i]-'0')); p*=2; } cout<<s; return 0; }