Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3843 | 邓小龙 | 二进制小数转十进制 | C++ | Accepted | 0 MS | 252 KB | 504 | 2024-07-13 13:41:35 |
# include<iostream> using namespace std; string s; double n,t=1;//t作为权数 int main(){ cin>>s; int lens=s.size(); int pos=s.find('.'); int i; //cout<<pos<<endl; //计算整数部分 if(pos==-1) i=lens; else i=pos; for( i=i-1;i>=0;i--){ n=n+(s[i]-'0')*t; t=t*2; } //计算小数部分 t=0.5; for(i=pos+1;i<lens&&pos!=-1;i++){ n=n+(s[i]-'0')*t; t=t/2; } cout<<n<<endl; return 0; }