embedded linux ,android

2010年12月2日 星期四

浮點數表示法

單精度浮點數表示法用來表示 "實數"

所謂實數,就是有小數部分的數值
所謂浮點數,是因為在將數值表示成0與1過程中,小數點會 "位移" 的關係
所謂單精度,是因為還有另一種叫做 "雙精度" 範圍更大

單精度表示法使用32個位元, 編號 31~0
最高位元(31)為符號位元,0為正,1為負
指數部分8位元 (30-23),以 "超127" 表示
剩下皆為假數部分即正規化後小數點之後的數字
即 符號(1) + 指數(8) + 假數(23)

float a=1.0f = + (1.0)b * 2^0

正數所以符號位元為0
指數0+127 即 0111 1111
假數 000 0000 0000 0000 0000 0000

所以 1.0 在記憶體的表現為 0011 1111 1000 0000 0000 0000 0000 0000
即 0x3f800000

2010年12月1日 星期三

時間復雜度

演算法--分析及解決一個問題的方法,例如步驟一是什麼,步驟二是什麼...最後一步驟是什麼

利用時間複雜度判斷演算法的好壞

時間複雜度分析方法是
(1) 計算出程式每個敘述的執行次數
(2) 將執行次數以Big-O表示法表示

Big-O 為漸近上限

當n很大時, logn < n < nlogn < 平方 < 立方 < 次方 < n階

2010年11月28日 星期日

procfs sysfs devfs 的意義

/dev 是 user 利用application與硬體裝置溝通的介面
/sys  是OS post 出來的device相關的information
/proc 是Process與OS的整體資訊
所以三者是不互相取代的