1.將浮點數,記錄小數點位置,並去除小數點變成整數(例如99.99===>9999,小數點位置=2)
2.使用快速冪演算法 計算整數的冪
void mul(int *a,int *b)
} memcpy(a,c,sizeof(c));
}main
.....
}
3.處理結果,將小數點放進去
//無小數點
}
j=0;
int count=0;//記錄小數點後第乙個不為0的位置 ,無小數點則為0
if(dot!=0)
else if(dot==i)
}//找小數點後面第乙個不為0的數的位置
for(int k=0;k<124;k++)
}//小數點位置等於count,就是小數點後面沒有有效數字,+1不輸出小數點
if(count==dot)
count++;
} else
}
4.輸出結果
//最多125位,小數點最多75位
//將浮點數化成整數,並計算出擴大了多少倍
//整數部分高精度快速冪, 擴大倍數n*log10()直接計算出小數點位置
#include#include#includevoid mul(int *a,int *b)
} memcpy(a,c,sizeof(c));
}int main()
dot *=n;
//大冪冪
while(n>0)
//處理結果
//數和點都放到字串陣列
j=0;
int count=0;//記錄小數點後第乙個不為0的位置 ,無小數點則為0
if(dot!=0)
else if(dot==i)
}//找 小數點後的零
for(int k=0;k<124;k++)
}//小數點位置等於count,就是小數點後面沒有有效數字,+1不輸出小數點
if(count==dot)
count++;
} else
} //輸出
int flag=0;
for(int i=124;i>=count;i--)
} printf("\n");
} }
uva748 高精度 浮點數冪
題意 輸入乙個小數底,跟乙個整數指數。輸出冪。思路 題目要注意輸入的時候 要去掉前導零 記錄小數點位數 strchr 函式 演算法複雜度 o n 2 n是底數字數。include include using namespace std define max n 2000 void todigitre...
js高精度浮點數運算
貼 自定義高精度浮點數運算 物件格式寫法 var float calculator catch e m math.pow 10,math.max r1,r2 計算因子 return arg1 m arg2 m m minus function arg1,arg2 mul function arg1,...
PHP 浮點數高精度運算
記錄下,工作中遇到的坑 關於 php 浮點數運算,特別是金融行業 電子商務訂單管理 資料包表等相關業務,利用浮點數進行加減乘除時,稍不留神運算結果就會出現偏差,輕則損失幾十萬,重則會有信譽損失,甚至吃上官司,我們一定要引起高度重視!加 a 0.1 b 0.7 c intval a b 10 echo...