1. 程式人生 > 其它 >mysql-資料處理函式

mysql-資料處理函式

大佬程式碼學習

浮點數轉化

#include<bits/stdc++.h>

using namespace std;

double M[20][40];
long long E[20][40];

int main()
{
    //打表
    for(int i=0;i<10;i++){
        for(int j=1;j<=30;j++){
            double m = 1-pow(2,-1-i), e=pow(2,j)-1;
            double t = log10(m) + e*log10(2);
            E[
i][j] = t; M[i][j] = pow(10,t-E[i][j]); } } string in; while(cin>>in && cin != "0e0"){ for(string::iterator i = in.begin(); i !=in.end();i++){ //其中的string::iterator i 為迭代器,其中i為變數類似於指標,*i即指標現在所指向的字元 if(*i == 'e') *i = ' '; //in.begin()取字串收字元end同理
} istringstream ss(in); //將in字串內的內容重新分配到輸入ss內 double A; int B; ss >> A >> B; //將ss內的內容賦值給A和B while(A<1) A *= 10, B -= 1; for(int i=0; i<=9;i++){ for
(int j=1;j<=30;j++){ if(B == E[i][j] && fabs(A - M[i][j]) < 1e-4){ cout<< i << ' ' << j << endl; break; } } } } return 0; }