科銳課堂筆記 2017 2 23 浮點小數儲存格式

2021-07-27 09:57:34 字數 683 閱讀 5944

階乘100的解題思路用陣列存數模擬手工算乘法。(結果值有150多位)

遞迴比迴圈效率低多了,能不用就不用。線性問題優先使用迴圈。

數字後加f表示單精度,不加雙精度(對小數而言)。

定點小數優點快速高效,但缺乏靈活性。

單精度浮點小數儲存格式(共4位元組)如圖:

這裡需要注意,指數部分存的是指轉換成二進位制下小數點向右(正向)或向左(負向)移動的次數,以127為起點(127=0),128向右移1,126向左移1以此類推(與其把乙個數一切2分正負,還不如用補碼表示呢,廢勁),小數部分不足23位尾部用0補足對齊。(向後不向前補齊真是反其道而行)

舉個例子,十進位制的3.25轉成浮點數儲存,3=11,0.25轉二進位制方法小數部分不斷*2每次取整除部分一直到小數部份為0止,如0.25*2=0.5(取0),0.5*2=1.0(取1),所以0.25=0.01,合起來3.75=11.01,移一下小數字=1.101*10^1,那麼它的浮點格式化=(0) (1000 0000) (1010 0000 0000 0000 0000 000) ,表示成16進製為40 50 00 00,當然在小端cpu中反著看就是00 00 50 40。

雙精度同單精度一樣,只是擴充套件成8位元組,其中指數部分擴大到11位,小數部分擴大到52位。

科銳課堂筆記 2017 2 28 迴圈相關

大數階乘演算法優化,例求10的階乘1 2 3 4 5 6 7 8 9 10可轉換成 1 3 5 7 9 2 4 6 8 10 1 3 5 7 9 1 2 3 4 5 2,即把乙個大數階乘轉換成若干小數階乘,乘多少次2可用左移指令完成,其中2 5可去掉,記住有多少次2 5結果末位就加上多少個0,這樣一...

科銳課堂筆記 2017 3 17 結構體

結構體是不同資料 包括型別或邏輯意義 的集合。在設計定義乙個結構體時,要把其合理的資料組織在一塊。點 運算子用來訪問結構體成員,點運算子優先順序僅次於括號。vc6中預設的編譯選項,結構體成員對齊為8位元組 zp8 結構體成員的偏移位址規則是,必須是結構體成員對齊位元組數 zp?和該成員型別長度 字串...

科銳課堂筆記 2017 4 19 虛函式

我們知道c 是一門物件導向的語言,它有三大特性 封裝 繼承 多型。其中多型是最具有物件導向程式設計的特性。多型分靜態多型和動態多型。靜態多型也稱編譯時多型,指通過函式過載 運算子過載等,根據引數列表在編譯時刻確定呼叫函式。動態多型也叫執行時多型,是在執行時刻才確定呼叫的函式,執行時多型是通過類中的虛...