[發明專利]一種定點開平方實時計算方法無效
| 申請號: | 201410083718.1 | 申請日: | 2014-03-07 |
| 公開(公告)號: | CN103885923A | 公開(公告)日: | 2014-06-25 |
| 發明(設計)人: | 高明煜;詹鑫鑫;莊圣恩;李蕓;黃繼業 | 申請(專利權)人: | 杭州電子科技大學 |
| 主分類號: | G06F17/15 | 分類號: | G06F17/15 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 杜軍 |
| 地址: | 310018 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 定點 開平 實時 計算方法 | ||
1.一種定點開平方計算方法,其特征在于,該方法具體包括以下步驟:
步驟(1):整數在CPU中是以二進制形式進行存儲的;先將被開方數k強制轉化成32位無符號長整型數據;從該數據的最高位第32位開始判斷是否為1,若不是,則判斷第31位是否為1,判斷位數依次遞減,直到判斷出該被開方數k為m位二進制數據;
步驟(2):判斷m為奇數還是偶數;①若m值為奇數,計算x0=2(m-1)/2+2(m-3)/2,x0取整后作為牛頓迭代初值;將k左移(31-m)位,得到擴大了2(31-m)倍的K值;此時的K值具體為31位的二進制數據,記作k31,X0=2(31-1)/2+2(31-3)/2,即初值為49152;②若m值為偶數,計算x0=2m/2,x0定為牛頓迭代初值;將k左移(32-m)位,得到擴大了2(32-m)倍的K值;此時的K值具體為32位的二進制數據,記作k32,X0=232/2,即初值為65536;X0為K的牛頓迭代初值;
步驟(3):牛頓迭代公式為Xn+1=1/2(Xn+K/Xn);將初值X0代入公式,得到X1;Xn為X0迭代n次后得到的值,Xn+1為X0迭代n+1次后得到的值;
步驟(4):判斷Xn+1-Xn的值是否等于0,如果差值大于0,則繼續進行步驟(3)迭代;如果Xn+1-Xn的差值等于0,結束迭代,返回當前Xn作為正平方根值;
步驟(5):對于k31進行牛頓迭代得到的平方根值是真正的平方根值擴大了2(31-m)/2倍的值,將結果乘以10n后再右移(31-m)/2位即可得到保留了小數點后n位的平方根值;對于k32進行牛頓迭代得到的平方根值是真正的平方根值擴大了2(32-m)/2倍的值,將結果乘以10n后再右移(32-m)/2位即可得到保留了小數點后n位的平方根值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州電子科技大學,未經杭州電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410083718.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:滋陰補腎的中藥及其制備方法
- 下一篇:用于系統管理的可伸縮數據采集





