Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
73815 邸礼诚 二进制小数转十进制 C++ Wrong Answer 1 MS 280 KB 681 2024-05-19 17:47:27

Tests(0/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>=0;i--){ sum+=pow(2,-k)*(s[i]-'0'); k++; } cout<<sum; } return 0; }


Run Info:

------Input------
0.111
------Answer-----
0.875
------Your output-----
0