Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
73831 何嘉乐 二进制小数转十进制 C++ Wrong Answer 0 MS 280 KB 730 2024-05-19 17:55:28

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;i>=0;i--){ a[j]=s[i]-'0'; j++; } //处理小数部分 int k=1; for(int i=0;i<dian;i++){ sum+=pow(2,i)*(s[i]-'0'); k++; } } cout<<sum; }


Run Info:

------Input------
0.111
------Answer-----
0.875
------Your output-----
-9