• 2

[請教]適合運算超大位數的程式語言?

.Net Java 都有大數運算的函式庫..
我比較熟悉Delphi
http://www.submanifold.be/
這是一個支援Deiphi大數運算的函式庫
運算速度滿快的
在PIII-500 的電腦
產生一組 1024bit 的RSA 金鑰
只要幾分鐘
下載 Gint.zip
uses FGInt.pas 就可以用了
簡單範例如下
uses FGInt;

var
a,b,c:TFGInt;
s:string;
begin
FGInt.Base10StringToFGInt('987654321',a); //把 987654321 存入 a變數
FGInt.Base10StringToFGInt('123456789',b); //把 123456789 存入 a變數

FGInt.FGIntAdd(a,b,c); // c = a + b
FGint.FGIntToBase10String(c,s); //把c 的內容轉為十進制存入字串 s
showmessage(s);

FGInt.FGIntSub(a,b,c); // c = a - b
FGint.FGIntToBase10String(c,s);
showmessage(s);

FGInt.FGIntMul(a,b,c); // c = a * b
FGint.FGIntToBase10String(c,s);
showmessage(s);

FGInt.FGIntDiv(a,b,c); // c = a + b
FGint.FGIntToBase10String(c,s);
showmessage(s);
end;
小笨童 wrote:
因為我要算的是質數的分解
很大的那種,大約200多位數吧!...(恕刪)

200多位
10^200 約等 2^664
如果你能把那麼大的數字做出質數的分解
那會造成密碼界的大震撼哦
而且光是要產生那麼大的質數表
就是一個很大的問題了
拜一下google大神,找「大數運算」,相信答案很多,各種平台各種語言都有,我就不浪費版面重複貼了。
哇!真的很感謝大家熱烈的回應,
小弟真的很佩服網路上有這麼多高手們,
距離小弟學習程式語言真的很久了,
大學時幾乎都沒再學了,
只有學到重灌電腦,跟一些批次檔的技巧
還有自己會定期買電腦雜誌來看,

看來有空要自己好好進修一下了,
目前的目標是學習C語言吧!
好像比較多人推薦
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?