| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 73831 | 何嘉乐 | 二进制小数转十进制 | C++ | Wrong Answer | 0 MS | 280 KB | 730 | 2024-05-19 17:55:28 |
#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; }
------Input------
0.111
------Answer-----
0.875
------Your output-----
-9