vb2010_計算數字太大

作者: bomdy (bomdy)   2015-03-06 20:01:36
我設定
x為一個數字
p是它的次方數
n是取餘數
label1.text=x^p mod n
如果數字小都還可以正確
但是輸入太大如
x=4
p=2551
n=5
程式就會說無限大
用小算盤這是正確的4
小算盤跟程式差在哪邊咧~??
作者: wenyonba (射後不理很XX啊!!!!)   2015-03-06 21:16:00
因為小算盤會大數運算,你沒有大數運算(> 2^64)
作者: bomdy (bomdy)   2015-03-07 01:28:00
謝謝你~~~
作者: Yaiba (緋心刀刃)   2015-03-12 17:36:00
這種不能用公式或說用數字去算 要用字串去算
作者: wenyonba (射後不理很XX啊!!!!)   2015-03-12 23:50:00
用字串應該會很吃力,雖說也不是不行...
作者: bomdy (bomdy)   2015-03-15 01:58:00
math就可以自然求出了
作者: wenyonba (射後不理很XX啊!!!!)   2015-03-16 08:51:00
網路上有用10000進位的教學,可以Google看看
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-03-17 11:30:00
一萬位不是一萬進位 一萬進位你數字要有一萬種
作者: wenyonba (射後不理很XX啊!!!!)   2015-03-24 08:47:00
呃,樓上可Google一下大數運算,就知道其他高手一萬進位的做法,並不是只可計算一萬位的數字...
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-05-03 09:32:00
16進位就是每一個digit有16個digit 這是定義誰跟你一萬進位只能計算一萬位 你真的有看懂嗎Sorry, 每一個digit有16個state
作者: wenyonba (射後不理很XX啊!!!!)   2015-05-05 13:12:00
我是不知道樓上你這麼嗆是在嗆啥啦,不過你可以看看這篇http://goo.gl/AaFSwG人家寫的很明白他的做法,也很容易明瞭~~如果你說這不是一萬進位...好吧,我也不知道該如何解釋~一個 int 視為一個 digit,超過一萬處理進位,不就是了?

Links booklink

Contact Us: admin [ a t ] ucptt.com