- 2
- 0
- 约2.99千字
- 约 7页
- 2016-05-03 发布于天津
- 举报
浮點數-wordpress.com
浮點運算
浮點數的格式
±f.fff ╳ 10±e
± 正負號(加號或減號),加號可省略
f.fff 4位數字的分數
±e 1位數字的指數
0的表示方式0.000 ╳ 10+0
浮點數兩種表示法
ddd.ddd
ddd.dddE±ddd (以10為基底)
例子
表示方式 數字 +1.000E+0 1.0 +3.300E+5 33000.0 -8.223E-3 -0.008223 +0.000E+0 0.0
加法/減法運算
2.0 + 0.3的運算方式
由數字開始
+2.000E+0 數字是2.0
+3.000E-1 數字是0.3
加入保護數字(guard digit)
+2.0000E+0 數字是2.0
+3.0000E-1 數字是0.3
讓二個數字的指數相同(將最小指數的數字向右移一位數,將其指數加1,一直到二個數字的指數相同)
+2.0000E+0 數字是2.0
+0.3000E+0 數字是0.3
相加二個分數
+2.3000E+0 數字是2.3
將結果數字向右或左移,直到只有一個數字在小數點的左側
若保護數字大於5,則將前一位數加1,並取消保護數字
+2.300E+0
浮點的減法則是將第二個運算元的正負號改變,然後再相加
乘法運算
0.12 * 11.0的運算方式
加入保護數字
+1.2000E-1 數字是0.12
+1.1000E+1 數字是11.0
將二個分數相乘,並將指數相加
(1.2 * 1.1 = 1.32) (-1 + 1 = 0)
+1.2000E-1 數字是0.12
+1.1000E+1 數字是11.0
+1.3200E+0 結果為1.32
將結果正常化
+1.3200E+0 數字是1.32
乘法不需進行位移。整數的乘法速度比整數加法慢,但浮點數的處理乘法的速度與加法相近。
除法運算
100.0 * 30.0的運算方式
加入保護數字
+1.0000E+2 數字是100.0
+3.0000E+1 數字是30.0
將二個分數相除,並將指數相減
+1.0000E+2 數字是100.0
+3.0000E+1 數字是30.0
+0.3333E+1 結果為3.333
將結果正常化
+3.3330E+0 數字是3.333
若保護數字大於或等於5,則將前一個數字加1。
overflow與underflow
overflow數字太大,無法儲存
9.000E+9 * 9.000E+9 = 8.1 * 1019
然而指數只有一位數字,無法儲存19,故發生overflow;有的PC會產生trap訊號,中斷程式並印出錯誤訊息,有的是產生不正確的結果繼續處理
underflow數字太小,無法儲存
1.000E-9 * 1.000E-9 = 1.0 * 10-18
指數只有1個數字,無法儲存-18,故發生underflow
近似值誤差
1/3 + 1/3 = 2/3但浮點數的計算卻是1/3 + 1/3 != 2/3
2/3 的浮點數是6.667E-1
1/3 的浮點數是3.333E-1
+3.333E-1
+3.333E-1
+6.666E-1 或是0.6666
而非+6.667E-1
C語言中的浮點數資料型態
浮點資料格式可分為單精準浮點格式(Single-precision)和倍精準浮點格式(Double-precision),差別在於儲存位元的多寡,通常以32bits儲存單精準浮點格式,以64bits儲存倍精準浮點格式。
C語言中,所有的float數值均是以double方式處理,即使將變數宣告成float,真正的運算中,是將它轉成double。因此佔用byte數較少、精確度較差的float,其運算過程反而比double多一道轉換手續,變得比較慢。
Floating-Point Format(於電腦中的儲存方式)
正負符號:正負符號位元固定只有一個位元,用來表示正數(符號位元為0)或負數(符號位元為1)
偏移指數:偏移指數欄位的位元數並不固定,必須視該浮點數的電腦系統如何實作,以及想要表達多少數值來決定。偏移指數必須減掉系統定義的指數偏移值才是實際的指數,公式如下
舉例來說,Intel 80486 CPU單倍精準度浮點數的偏移指數欄位使用8個位元,應該可以表達0~255之間的整數值,但是80486 CPU採用127做為指數偏移值,所以真實的正指數應該是0~128(當b30b29‥‥b23=127~255時);至於b30b29‥‥b23 =0~126時,則真實的負指數應該是-127~-1。所以偏移指數所能表達的實際指數為-127~128(而且底數為2)。
小數部分:小數部分數欄位的位元數並不固定,必須視該浮點數想要表達的精
您可能关注的文档
最近下载
- 中医基础理论:气一元论.ppt VIP
- DB61_T 2002-2025 窄轨旅游轨道交通施工技术规范.pdf VIP
- DB61_T 2004-2025 水性环氧改性微表处施工技术规范.pdf VIP
- 北京市装配式建筑项目预制率和装配率计算说明及示例.ppt VIP
- 火灾报警控制器简单操作.doc VIP
- DB61_T 2012-2025 沥青路面一体化就地热再生施工技术规范.pdf VIP
- DB61_T 2013-2025 沥青路面半刚性基层微裂均质化处治施工技术规范.pdf VIP
- 单件流培训.ppt VIP
- 隧道工程应急处置方案(3篇).docx VIP
- 海关面试题及答案.doc VIP
原创力文档

文档评论(0)