C語言之linux核心實現平方根計算演算法

2021-12-29 19:43:34 字數 615 閱讀 9691

關於平方根的計算,在linux核心中也有實現,就像math.h數學庫里的sqrt這個函式一樣。

平方根的公式定義:

如果乙個非負數x的平方等於a,即一樣的,從核心裡把**取出來:

#include

#ifdef config_64bit

#define bits_per_long 64

#else

#define bits_per_long 32

#endif

/** * int_sqrt - rough approximation to sqrt

* @x: integer of which to calculate the sqrt

* * a very rough approximation to the sqrt() function.

*/unsigned long int_sqrt(unsigned long x)

res /= 2;

one /= 4;

} return res;

}int main(void)

執行結果:

C語言之單鏈表實現

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相比於線性表順序結構,操作複雜。由於...

linux下C語言之HelloWorld

開始學習c語言,記得n年前學過點,不過早就忘得差不多了,今天決定開始重新學習下c,但是現在的學習環境是在linux環境下,好了,我們來開始第乙個helloworld吧.root localhost vi main.c 開始新建檔案 include 檔案頭 int main void main.c n...

linux下C語言之HelloWorld

開始學習c語言,記得n年前學過點,不過早就忘得差不多了,今天決定開始重新學習下c,但是現在的學習環境是在linux環境下,好了,我們來開始第乙個helloworld吧。root localhost vi main.c 開始新建檔案 include 檔案頭 int main void main.c n...