大數階乘演算法優化,例求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,這樣一來計算量大大減少,執行結果時間也大幅縮短。
vc6 watch視窗中若有表示式,在除錯狀態中,每一條語句前都會執行一次表示式。
if、for、while要加花括號,即便後面看上去只有一條語句,因為有時候很難分清呼叫的到底是函式還是巨集,而有的引數巨集會擴充套件成多條語句導致執行不正確(這種錯誤較隱蔽不易察覺)。
用if、goto模擬3種迴圈過程:
第1種do while迴圈:
loop:
// do{}迴圈內容
if(/*while判斷條件*/)
第2種while迴圈:
loop:
if(/*while判斷反條件*/)
// 迴圈語句
goto loop;
end:
第3種for迴圈:
// for初始化
goto _2;
_1:// for尾部語句
_2:if(/*for判斷反條件*/)
// 迴圈內容
goto _1;
end:
可見for迴圈比起do while或while迴圈開銷更大,但for語句結構清晰簡明,在原始碼中可讀性較好。
科銳課堂筆記 2017 3 17 結構體
結構體是不同資料 包括型別或邏輯意義 的集合。在設計定義乙個結構體時,要把其合理的資料組織在一塊。點 運算子用來訪問結構體成員,點運算子優先順序僅次於括號。vc6中預設的編譯選項,結構體成員對齊為8位元組 zp8 結構體成員的偏移位址規則是,必須是結構體成員對齊位元組數 zp?和該成員型別長度 字串...
科銳課堂筆記 2017 4 19 虛函式
我們知道c 是一門物件導向的語言,它有三大特性 封裝 繼承 多型。其中多型是最具有物件導向程式設計的特性。多型分靜態多型和動態多型。靜態多型也稱編譯時多型,指通過函式過載 運算子過載等,根據引數列表在編譯時刻確定呼叫函式。動態多型也叫執行時多型,是在執行時刻才確定呼叫的函式,執行時多型是通過類中的虛...
科銳課堂筆記 2017 2 23 浮點小數儲存格式
階乘100的解題思路用陣列存數模擬手工算乘法。結果值有150多位 遞迴比迴圈效率低多了,能不用就不用。線性問題優先使用迴圈。數字後加f表示單精度,不加雙精度 對小數而言 定點小數優點快速高效,但缺乏靈活性。單精度浮點小數儲存格式 共4位元組 如圖 這裡需要注意,指數部分存的是指轉換成二進位制下小數點...