尋求更快速的[開根號]演算法 |
尚未結案
|
forth
一般會員 發表:13 回覆:34 積分:9 註冊:2002-10-30 發送簡訊給我 |
尋求更快速的[開根號]演算法 不知各位是否有更快速的[開根號]演算法, 目前我所用的演算法是以前數學課本都會教到的最基本方法
sqrt(123)
1 1.0
---------------
| 123
1 1
1 ---------------
---- 23
2 1 21
---------------
200 當然還有一些方法可以算, 如 牛頓法, 或多項是逼近法
但這些都需要使用到四則運算. 不知想法不需使用到[四則運算]就可解 寫程式是建設,除錯是破壞.
寫程式是樂趣,除錯是苦難.
哈! 哈! ....
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 尋求更快速的[開根號]演算法 不知各位是否有更快速的[開根號]演算法, 目前我所用的演算法是以前數學課本都會教到的最基本方法 sqrt(123) 1 1.0 --------------- | 123 1 1 1 --------------- ---- 23 2 1 21 --------------- 200 當然還有一些方法可以算, 如 牛頓法, 或多項是逼近法 但這些都需要使用到四則運算. 不知想法不需使用到[四則運算]就可解 寫程式是建設,除錯是破壞. 寫程式是樂趣,除錯是苦難. 哈! 哈! .... forth 你好: (1)目前定義在 standard C library ("math.h")裡面的 function,有關開根 號的,大概也只有以下這兩個 function 吧 > ( > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
forth
一般會員 發表:13 回覆:34 積分:9 註冊:2002-10-30 發送簡訊給我 |
RaynorPao兄您好:
多謝了!
但這並不是我想問的問題,可能我沒有說明發環境讓您誤會了.
我並不適用高階語言來寫程式,而是用6502組合語言來寫.
所以說,就沒辦法使用那些副程式了,必須自己寫. 我也找過一些高階寫的程式,但並不符合我的需求.
因為在電腦上跑很快,但相同演算法移植到6502的CPU就沒法子了.
且須執行較多指令也會很耗電,所以才會問看看有沒有人有何其他想法. 如果有那種[俗又大碗-速度快,程式碼小]的演算法就好了< > 思考中 .... < > 寫程式是建設,除錯是破壞.
寫程式是樂趣,除錯是苦難.
哈! 哈! ....
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: RaynorPao兄您好: 多謝了! 但這並不是我想問的問題,可能我沒有說明發環境讓您誤會了. 我並不適用高階語言來寫程式,而是用6502組合語言來寫. 所以說,就沒辦法使用那些副程式了,必須自己寫. 我也找過一些高階寫的程式,但並不符合我的需求. 因為在電腦上跑很快,但相同演算法移植到6502的CPU就沒法子了. 且須執行較多指令也會很耗電,所以才會問看看有沒有人有何其他想法. 如果有那種[俗又大碗-速度快,程式碼小]的演算法就好了< > 思考中 .... < > 寫程式是建設,除錯是破壞. 寫程式是樂趣,除錯是苦難. 哈! 哈! .... >>< face="Verdana, Arial, Helvetica"> forth 你好: 嗯...原來如此,那到這邊看看適不適用呢??
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
forth
一般會員 發表:13 回覆:34 積分:9 註冊:2002-10-30 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
提供一個解決的辦法
1.用 C++ 寫一個只有 sqrt() 的超短 Dos 程式
2.編譯輸出成執行檔
3.反編譯(如用Turbo debugger) ,並追蹤找到 sqrt 的組合語言碼
4.將其使用的演算法分析出來
5.轉成你的平台 !
這樣不就解決你的問題了? 山不轉 路轉
路不轉 我轉
引言: 多謝RaynorPao兄 我目前的做法,就如 > 寫程式是建設,除錯是破壞. 寫程式是樂趣,除錯是苦難. 哈! 哈! .... >>< face="Verdana, Arial, Helvetica"> |
forth
一般會員 發表:13 回覆:34 積分:9 註冊:2002-10-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |