C 語言入門筆記(七):IEEE 754 浮點數記憶體佈局實測
前情回顧 已學無符號/有符號整數(補碼)。字符型用 ASCII,字符串以 \0 結尾,變量名實為首地址,遇 \0 止。 IEEE 754 單精度格式 符號位(
親和數問題:500 萬以內全量求解,O(N log N) 線性篩思想
什麼是親和數? 畢達哥拉斯學派發現:兩數 a, b,若 a 的真因數和 = b,b 的真因數和 = a,則稱之為親和數。 例:220 真因數和 = 284,28
經典面試題:最大子數組和(Kadane 算法)O(n) 完美解法
前言 希望大家把面試題當成純編程題享受思考樂趣,暫時放下面試包袱,潛心攻克。 題目 輸入整型數組(含正負),求連續子數組最大和,要求 O(n)。 例:1, -
C 語言入門筆記(六):scanf 為何要取地址?變量記憶體佈局探秘
疑問:scanf 參數前為何加 &? printf 格式化輸出,scanf 格式化輸入,幾小時練習不難,但發現 scanf 參數要 &,prin
C 語言入門筆記(四):進制轉換與位運算完全指南
學習緣起:從「最美駭客 MM」到擁抱代碼 一次偶然看到雜誌《中國最美麗的黑客 MM》,原以為駭客是犯罪代名詞,查資料發現早期是褒義詞,頓生崇拜。加了她 QQ 想
C 語言入門筆記(三):數據、類型與變量的本質探究
關於作者 我是地下搖滾樂隊主唱,平時唱歌,近對程式設計產生興趣,決定有空就學。通過 Google 找博客,用筆記方式強化學習。覺得程式像音符,不懂就拼命搜資料,
C 語言入門筆記(二):手動編譯鏈接,揭開 VC6.0 傻瓜操作的面紗
為什麼要手動編譯? 上回在 VC6.0 成功跑通 Hello World,但編譯、鏈接全由 IDE 自動完成,雖方便卻不清楚內部步驟,知識不屬於自己。決定用記事
C 語言入門筆記(一):第一個 C 程式碼逐行解析
緣起:為什麼要學 C? 前幾天剛學兩章 Python,覺得 Python 很棒(雖然具體哪裡棒還說不上來)。無意間看到「C 語言可操作硬體」,被定位為中級語言,
C 語言補碼表示法深度解析:為什麼 CPU 只需加法器就能做減法
C 語言補碼表示法深度解析:為什麼 CPU 只需加法器就能做減法 補碼是現代電腦系統中有號整數的標準表示法。本文從歷史動機、數學本質、硬體實作三個維度,深度解析
C++ 記憶體管理深度解析:new/delete、placement new 與運算子重載完整指南
C++ 記憶體管理深度解析:new/delete、placement new 與運算子重載完整指南 C++ 的記憶體管理機制靈活強大,但也因 new (運算子)
算法導論:動態規劃經典案例——裝配線調度問題深度解析
前言:與《算法導論》的賽跑 原本計劃在七月前攻克《算法導論》,如今已過一個多月,僅推進至第 15 章,後續章節也僅有零星閱讀。期末考試逼近,上學期 GPA 不足
Linux 環境下 C 程式編譯執行入門指南
Linux 環境下 C 程式編譯執行入門指南 Linux 是 C 語言的原生開發環境。本文引導初學者完成從撰寫原始碼、編譯連結到執行的完整流程,並解析 GCC
Visual Studio 除錯技巧:Memory 視窗深度應用指南
Visual Studio 除錯技巧:Memory 視窗深度應用指南 Visual Studio 的 Memory 視窗 是檢視任意記憶體位址內容的利器,補足
TCP 網路封包序列化實戰:ByteBuffer 完整實作解析
TCP 網路封包序列化實戰:ByteBuffer 完整實作解析 TCP 是位元組流協定,無訊息邊界。將結構體直接 memcpy 發送雖然簡單,但面臨記憶體對齊差
設計模式精講:外觀模式——為複雜子系統提供統一入口
設計模式精講:外觀模式——為複雜子系統提供統一入口 外觀模式為子系統中的一群介面提供一個一致的高層介面,讓子系統更容易使用。生活譬喻:早期看電視只需開電視,現代
設計模式精講:代理模式完整實戰與 UML 解析
設計模式精講:代理模式完整實戰與 UML 解析 代理模式為某物件提供一個代理者,控制對目標物件的存取。生活中常見例子:明星經紀人(代理)處理商演邀約,明星(真實
Lua 腳本死循環偵測與強制中止機制實作
Lua 腳本死循環偵測與強制中止機制實作 嵌入 Lua 腳本的宿主程式面臨一大風險:使用者編寫的腳本可能包含死循環,導致整個應用程式凍結。由於停機問題不可判定,
遞迴函式執行流程圖解:以整數轉字串逆序儲存為例
遞迴函式執行流程圖解:以整數轉字串逆序儲存為例 遞迴是程式設計中極具威力卻常讓初學者困惑的技巧。本文透過一個「將整數按逆序存入字元陣列」的經典範例(如 483