2.5我們着重介紹了二進制整數的加、減運算,本次我們繼續介紹乘、除運算。本章是迄今為止最難的一章,希望各位猿友有所收獲,也別忘了“點個推薦哦”。 引言 運算一直是程序運行當中一個重要的環節,而在二進制的運算過程當中,加法運算又是重中之重,它基本上奠定了二進制運算的基礎 ...
. 我們介紹了無符號編碼和補碼編碼,本次我們來看一下在這兩種編碼下,整數的運算是如何進行的。看后之余,別忘了 點個推薦哦。 引言 平時的編程過程中,當進行整數運算時,經常會遇到一些奇怪的結果,比如兩個正數加出負數,兩個負數可以加出一個正數,這些都是由於數值表示的有限性導致的。下面我們來看看C語言和Java語言當中的例子。 程序當中的a和b都是很大的正整數,結果它們相加會得到一個負數。 接下來我們 ...
2013-09-28 17:52 2 3859 推薦指數:
2.5我們着重介紹了二進制整數的加、減運算,本次我們繼續介紹乘、除運算。本章是迄今為止最難的一章,希望各位猿友有所收獲,也別忘了“點個推薦哦”。 引言 運算一直是程序運行當中一個重要的環節,而在二進制的運算過程當中,加法運算又是重中之重,它基本上奠定了二進制運算的基礎 ...
2.6我們進行了二進制整數運算的最后一役,本次LZ將和各位一起進入浮點數的世界,這里沒有無符號,沒有補碼,但是有各種各樣的驚奇。倘若你真正的進入了浮點數的世界,一定會發現它原來是這么有意思,而不是像之前一樣,覺得了解浮點數的內容沒什么用,只要會簡單的使用就行了。當然,這其中也可能有部分猿友 ...
開篇請各位猿友允許LZ啰嗦幾句,最近一直在寫計算機系統原理這系列文章,也已經下定決心要把這本書的內容寫完。主要目的其實是為了鞏固LZ的理解,另外也想把這些內容分享給猿友們,畢竟LZ覺得這些內容對程序猿的實力還是有着很大的潛在提高的。 只是這種原理 ...
整數的表示和運算我們已經講完了,在實際應用中,整數能夠解決我們大部分問題。但是某些需要精確表示的數,比如某件商品的價格,某兩地之間的距離等等,我們如果用整數表示將會有很大的出入,這時候浮點數就產生了。 在 20世紀80年代以前,每個計算機廠商都設計了自己表示浮點數的規則,以及對浮點數執行運算 ...
前面兩篇博客我們詳細講解了計算機中整數的表示,包括有符號和無符號(補碼編碼)的詳細介紹。那么這篇博客我們將對它們的運算有個詳細的了解。 在講解之前首先看下面的一個程序,看看輸出結果是啥? #include <stdio.h> int main() { int i ...
深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
上一篇博客我們講解了二進制小數如何表示以及IEEE浮點標准。而且我們也提到過因為這種表示方法限制了浮點數的范圍和精度,浮點數只能近似的表示一個數。 比如 數字1/5,我們能用十進制小數 0.2 准確的表示,但是我們卻不能把它准確的表示為一個二進制小數,我們只能通過增加二進制表示的長度 ...