《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 解决方案 > 计算机系统原理(十一) 二进制浮点数和IEEE标准

计算机系统原理(十一) 二进制浮点数和IEEE标准

2017-06-22
關鍵詞: 汇编语言

2.6我們進行了二進制整數運算的最后一役,本次LZ將和各位一起進入浮點數的世界,這里沒有無符號,沒有補碼,但是有各種各樣的驚奇。倘若你真正的進入了浮點數的世界,一定會發現它原來是這么有意思,而不是像之前一樣,覺得了解浮點數的內容沒什么用,只要會簡單的使用就行了。當然,這其中也可能有部分猿友是覺得這部分內容太難,而對它失去了學習的興趣。

就像之前的LZ一樣,曾經對IEEE標準望而卻步,不過相信這幾章浮點數的介紹會讓你有種頓悟的感覺。倘若你有了這樣的感覺,也不要忘了“點個推薦哦。”

引言

整數運算雖然能解決計算機當中有關信息的很大一部分儲存、運算等功能,但卻是仍然不夠的。否則假設我們要做一個超市的庫存管理系統,那么所有商品的價格都只能是整數,這是不是讓你難以接受呢。

因此有時候我們需要更精確的數值表示,這就需要浮點數出場了。對于浮點數的表示以及運算規則,在以前是各個計算機制造商各自有一套自己的標準,這給程序的可移植性造成了很大的困擾。

有需求就有創新,最終在1985年左右,浮點數標準IEEE754就應運而生了。它就像一代秦始皇一樣,一統浮點數世界。秦始皇統一了文字、貨幣等,而IEEE754統一了浮點數的標準。

浮點數不僅僅是為了讓數值的表示更加精確,也是為了表示一些整數無法達到的數字,比如一些接近于0的數字,或者一些非常大的數值。因此浮點數對于計算機的意義,可以說是相當之大。

二進制小數

盡管我們本章的主要內容應該是IEEE標準,不過我們先來看看二進制是如何表示小數的,這有助于我們理解浮點數的表示。如果是一個十進制小數,相信各位都再熟悉不過了,對于12345.6789來說,它的值是由下列式子得到的。

   12345.6789 = 1 * 104 + 2 * 103 + 3 * 102 + 4 * 101 + 5 * 100 + 6 * 10-1 + 7 * 10-2 + 8 * 10-3 +  9 * 10-4

這對我們來說應該是常識,那么對于二進制小數也是類似的,考慮這樣一個小數10010.1110,它的值則可以由以下式子得到。

   10010.1110 = 1 * 24 + 0 * 23 + 0 * 22 + 1 * 21 + 0 * 20 + 1 * 2-1 + 1 * 2-2 + 1 * 2-3 +  0 * 2-4 = 16 + 2 + 1/2 + 1/4 + 1/8 = 18.875

從這個角度來看,二進制小數其實與十進制小數是一樣的計算方式,只是這里是2的整數次冪而已。

在書中給出了二進制小數的公式,對于一個形式為bm....b0.b-1....b-n的二進制小數b來說,它的值為以下計算方式。

這里需要提醒的是,二進制小數不像整數一樣,只要位數足夠,它就可以表示所有整數。二進制小數無法精確的表示任意小數,比如最簡單的,十進制小數0.3這樣一個小數,二進制是無法精確的表示它的。

IEEE標準

IEEE標準采用類似于科學計數法的方式表示浮點小數,即我們將每一個浮點數表示為 V = (-1)s * M * 2E 。

這其中s為符號位,為0時為正,為1時為負。M為尾數,是一個二進制小數,它的范圍是0至1-ε,或者1至2-ε(ε的值一般是2-k次方,其中設k > 0)。E為階碼,是一個二進制整數,可正可負,為了給尾數加權。

浮點格式分為兩種,一種是單精度,一種是雙精度。單雙精度分別對應于編程語言當中的float和double類型。其中float是單精度的,采用32位二進制表示,其中1位符號位,8位階碼以及23位尾數。double是雙精度的,采用64位二進制表示,其中1位符號位,11位階碼以及52位尾數。

從上面的位數上就能看出,雙精度浮點數所表示的范圍將遠遠大于單精度浮點數。針對階碼E的值,浮點數的值可以分為三種不同的情況,分別是規格化的,非規格化的以及特殊值,這三種情況就是浮點數的奧義所在了。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 91精品久久香蕉国产线看观看| 国产三区在线视频| www欧美日韩| 日韩精品福利视频| www.欧美日本| 国产一区二区精品免费| 亚洲高清在线观看一区| 国产精品视频免费在线| 久久久免费精品视频| 秋霞无码一区二区V| 国产激情综合五月久久| 精品一区二区不卡| 久久视频中文字幕| 日本不卡视频在线播放| 午夜精品一区二区在线观看| 97久久国产精品| 国产福利精品视频| 国产精品免费小视频| 精品国产一区二区三区久久狼黑人| 日本精品一区二区三区在线播放视频| 亚洲综合五月天| 国产精品美女www爽爽爽视频| 精品国产免费人成电影在线观... 精品国产一区二区三区久久久狼 精品国产一区二区三区久久狼黑人 | 99免费视频观看| 国产精品免费久久久久久| 国产精品视频自拍| 国产精品欧美日韩久久| 国产精品一区二区a| 国产欧美日韩最新| 国产亚洲精品美女久久久m| 国产欧美在线播放| 国产麻豆一区二区三区在线观看| 国产亚洲综合视频| 国产超级av在线| 91国内在线视频| 亚洲高清不卡一区| 日本视频一区二区不卡| 欧美精品久久久久| 久久国产精品99国产精| 国产美女网站在线观看| 99在线国产|