大數運算過程的數學基礎

2021-12-30 10:25:35 字數 574 閱讀 4578

通常情況下,linux核心是不支援浮點操作的。在進行資料處理過程中,我們經常會處於這樣的尷尬:計算過程的資料位長和計算結果的誤差產生了衝突.

例如如下的例項:102448/7*1024

這樣的表示式在核心中可以如下表達:

long result = 102448/7*1024;

當然,作為實際的操作過程,表示式中的字面常數通常是一些變數。如果result具有累積效應,上面的表示式將產生致命的誤差。

數學表達中 102448/7*1024的值為14986678

而表示式 result = 102448/7*1024 的值為14986240

顯然,這種誤差是巨大的,如何調整這種誤差呢?

我們可以將這種問題訴諸數學恒等式:

{a/b*c}= [a/b*c + a%b*c/b]

我們將進行驗證:

result = 102448/7*1024 + 102448%7*1024/7;

result = 14986240 + 438

result = 14986678

未完待續

作者「www.475551408.qq.com」

遺傳演算法的運算過程

遺傳演算法 genetic algorithm 是一類借鑑生物界的進化規律 適者生存,優勝劣汰遺傳機制 演化而來的隨機化搜尋方法。它是由美國的j.holland教授1975年首先提出,其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定 具有內在的隱並行性和更好的全域性尋優能力 採用概率...

矩陣卷積運算過程講解

在爬蟲處理驗證碼的過程中接觸到矩陣卷積運算,關於該類運算,記錄一下自己的心得。理論知識 在講述卷積過程前,我們來了解一下卷積公式。根據離散二維卷積公式 其中a為被卷積矩陣,k為卷積核,b為卷積結果,該公式中,三個矩陣的排序均從0開始。現在對於上面卷積過程進行分析 我們用來做例子的 a 矩陣為 m m...

卷積的運算過程及matlab實現

卷積是訊號處理領域最為常見的運算,對於乙個線性時不變系統而言,只要知道了系統的單位衝擊響應,則可以由輸入序列x n 和單位衝擊響應h n 經卷積運算得到系統的輸出。下面給出輸入訊號x 1 2 3 4 單位衝擊響應h 2 1 1 時,系統輸出的運算過程,雖然matlab自帶了卷積函式conv,但是通過...