我想用大整數來做一些類似于以下的計算:
我想用大整數來做一些類似于以下的計算:
目前生成:
main.c:4:12: error: integer literal is too large to be represented in any integer
型別
long a = 123456789123456789123456789123456789。
^
1錯誤產生。
我知道有一個叫做libtomath的庫,正如這個其他SO問題所指出的,但我找不到任何例子,而且我是C語言的新手,不知道如何通過一個庫來閱讀來尋找答案。我怎么能用libtomath(或其他解決方案)來修改代碼呢?
uj5u.com熱心網友回復:
最好的方法是使用gmp。
#include <gmp.h>/span>
#include <stdio.h>
int main(int argc, char *argv[])
{
mpz_t x,y,wo;
if (argc<3)
return 1;
mpz_init_set_str (x, argv[1], 10) 。
mpz_init_set_str (y, argv[2], 10) 。
mpz_init_set_ui(two, 2U)。
mpz_add (x,x,y);/*x<-x y*/。
mpz_mul (y,y,tw);/*y<-y y*/
printf("%s
", mpz_get_str (NULL, 10, x))。
printf("%s
", mpz_get_str (NULL, 10, y))。
return 0;
你可以這樣使用它:
% gcc addbig.c -lgmp
% ./a.out 49378437483789437894739874389
74387438978437894378743874837
123765876462227332273483749226
148774877956875788757487749674
% ./a.out 111111111111111111111111111111111
2222222222222222222222222222222222222222222
3333333333333333333333333333333333333333333
4444444444444444444444444444444444444444444
uj5u.com熱心網友回復:
你可以處理@https://github.com/libtom/libtommath/tree/develop/doc給出的bn.tex檔案來生成libtomath的PDF檔案。如果你不能這樣做,請告訴我,我將為你生成PDF。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/319972.html
標籤:
下一篇:嘗試得到一個具有不同X軸的多圖
