Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
73822 何嘉欢 二进制小数转十进制 C++ Accepted 1 MS 280 KB 684 2024-05-19 17:50:19

Tests(10/10):


Code:

#include<bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; int len=s.size(); int dian=-1; for(int i=0;i<len;i++){ if(s[i]=='.'){ dian=i; break; } } double sum=0; if(dian==-1){ int a[len]; int j=0; for(int i=len-1;i>=0;i--){ a[j]=s[i]-'0'; j++; } for(int i=0;i<len;i++){ sum+=pow(2,i)*a[i]; } cout<<sum; return 0; } else{ int a[dian]; int j=0; for(int i=dian-1;i>=0;i--){ a[j]=s[i]-'0'; j++; } for(int i=0;i<dian;i++){ sum+=pow(2,i)*a[i]; } int k=1; for(int i=dian+1;i<len;i++){ sum+=pow(2,-k)*(s[i]-'0'); k++; } cout<<sum; } }