Run ID:93999

提交时间:2024-10-19 17:02:21

#include <iostream> #include <cstring> #include <cmath> using namespace std; int main(){ /*int ans1=0,ans2=0; char b[64]; cin>>b; int n=strlen(b); int sb=b.find('.'); for(int i=0,j=sb-1;i<sb&&j>=0;i++,j--){ ans1=ans1+b[j]*pow(2,i); }cout<<'.'; for(int i=0,j=sb+1;i<n-sb&&j<n;i++,j++) ans2=ans+b[j]*pow(1/2,i); cout<<ans2;*/ string str; cin>>str; int len=str.length(); double ans=0; double power=1; int i=0; while(str[i]!='.'&&i<len) i++; for(int k=i-1;k>=0;k--){ ans+=(power*(str[k]-'0')); power*=2; }power=2; for(i+=1;i<len;i++){ ans+=((1/power)*(str[i]-'0')); power*=2; }cout<<ans<<endl; return 0; }