C++Builder 實作流類別版本控制:SaveToStream/LoadFromStream 模式
使類別支援流式 I/O 並具備版本相容性,需定義 SaveToStream/LoadFromStream 並引入版本號機制。 類別範例 stream;
如何單步執行外部程式:C++Builder 實作範例
使用 Windows API CreateProcess 啟動外部程式並等待結束,適用於 C++Builder(VC 需調整訊息框呼叫)。 核心程式碼 voi
VDSP (BF561) 浮點運算系列(1):資料類型支援與 double 預設陷阱
VDSP 5.0 文檔列出支援類型: 類型位元表示sizeof float32IEEE single4 double32/64IEEE single/doub
VDSP (BF561) 浮點運算系列(2):float 編碼疑問與手算驗證
針對 float a = 1234.56; 編譯產生 0x449A51EC,手算推導過程與系列文(5)相同,此處為獨立記錄版本。 編譯器輸出 R0 = 209
VDSP (BF561) 浮點運算系列(3):FLT_MIN 最小正規值推導
FLT_MIN = 1.1754943508222875E-38F 為單精度浮點數最小**正規化**正值。 推導過程 尾數隱含 1,最小為 1.0(尾數全
VDSP (BF561) 浮點運算系列(4):FLT_MAX 最大值推導
FLT_MAX = 3.4028234663852886E+38F 為單精度浮點數最大有限值。 推導過程 指數全 1 (255) 保留給 Inf/NaN,最
VDSP (BF561) 浮點運算系列(5):float 型別表示總結與常數解析
完整解析 IEEE 754 單精度浮點數在 VDSP 上的表示、編碼過程與關鍵常數定義。 編碼實例:1234.56 → 0x449A51EC 二進制:010
VDSP (BF561) 浮點運算系列(6):float 加減運算與 Pipeline 影響
VDSP float 加減法對應 __float32_add/__float32_sub(libdsp/fpadd.asm),減法即翻轉減數符號後跳入加法。
VDSP (BF561) 浮點運算系列(7):float 乏法運算特殊情況與溢出判斷
VDSP float 乏法編譯為 __float32_mul(libdsp/fpmult.asm),同樣處理零、NaN/Inf、溢出/下溢。 特殊情況 兩運
VDSP (BF561) 浮點運算系列(8):float 除法運算特殊情況與週期分析
VDSP float 除法編譯為 __float32_div(libdsp/fpdiv.asm),基於 Hennessy & Patterson《計算機
VDSP (BF561) 浮點運算系列(9):long double 與 float 效能對比
VDSP 預設 double 同 float (32-bit),long double 為 64-bit IEEE 754 雙精度。比較兩者型別表示與運算效能。
VDSP (BF561) 浮點運算系列(10):fract16 1.15 格式表示與負數編碼
fract16 採用 1.15 定點格式:1 位符號 + 15 位數值,無指數/尾數分離。 數值範圍 最大值:+0.999969482421875 (0x7
VDSP (BF561) 浮點運算系列(11):fract16 與 float 相互轉換詳解
VDSP 提供 float_to_fr16 與 fr16_to_float 兩個轉換函數,均為軟體模擬,非單週期指令。 float_to_fr16(float
VDSP (BF561) 浮點運算系列(12):fract16 加減運算與飽和特性
fract16 加法由 __builtin_add_fr1x16 實現,減法對應 __builtin_sub_fr1x16,皆單週期完成。 加法組合語言 R0
VDSP (BF561) 浮點運算系列(13):fract16 乘法的三種模式與精度差異
VDSP 提供三種 fract16 乏法內建函數,對應不同捨入/飽和策略,均單週期完成。 1. mult_fr1x16(截斷模式) __builtin_mul
VDSP (BF561) 浮點運算系列(14):fract16 除法實現與修正版
VDSP 未直接提供 fract16 除法函數,文檔給出範例演算法:將分子擴展為 32-bit,使用 divs/divq 迭代 15 次產生商。但原版未處理符號
VDSP (BF561) 浮點運算系列(15):VDSP 庫 fract16 除法函數的 Bug 分析
VDSP fract_math.h 提供內聯函數 div_s(fract16, fract16),邏輯與文檔範例一致,但存在嚴重缺陷:將 fract16 轉為
VDSP (BF561) 浮點運算系列(16):fract2x16 向量類型與 SIMD 運算
BF561 擁有兩個 16-bit MAC 單元,可在單週期內並行執行兩個 fract16 運算。VDSP 引入 fract2x16 類型,將兩個 fract1