2.3我們介紹了無符號編碼和補碼編碼,本次我們來看一下在這兩種編碼下,整數的運算是如何進行的。看后之余,別忘了“點個推薦哦。” 引言 平時的編程過程中,當進行整數運算時,經常會遇到一些奇怪的結果,比如兩個正數加出負數,兩個負數 ...
. 我們着重介紹了二進制整數的加 減運算,本次我們繼續介紹乘 除運算。本章是迄今為止最難的一章,希望各位猿友有所收獲,也別忘了 點個推薦哦 。 引言 運算一直是程序運行當中一個重要的環節,而在二進制的運算過程當中,加法運算又是重中之重,它基本上奠定了二進制運算的基礎。因為無論是減法還是乘法,都可以由加法運算來替代,唯有除法不能由加法替代。 了解計算機運算的規律,可以有助於我們理解很多程序代碼上無 ...
2013-09-30 02:39 6 14835 推薦指數:
2.3我們介紹了無符號編碼和補碼編碼,本次我們來看一下在這兩種編碼下,整數的運算是如何進行的。看后之余,別忘了“點個推薦哦。” 引言 平時的編程過程中,當進行整數運算時,經常會遇到一些奇怪的結果,比如兩個正數加出負數,兩個負數 ...
前面兩篇博客我們詳細講解了計算機中整數的表示,包括有符號和無符號(補碼編碼)的詳細介紹。那么這篇博客我們將對它們的運算有個詳細的了解。 在講解之前首先看下面的一個程序,看看輸出結果是啥? #include <stdio.h> int main() { int i ...
2.6我們進行了二進制整數運算的最后一役,本次LZ將和各位一起進入浮點數的世界,這里沒有無符號,沒有補碼,但是有各種各樣的驚奇。倘若你真正的進入了浮點數的世界,一定會發現它原來是這么有意思,而不是像之前一樣,覺得了解浮點數的內容沒什么用,只要會簡單的使用就行了。當然,這其中也可能有部分猿友 ...
開篇請各位猿友允許LZ啰嗦幾句,最近一直在寫計算機系統原理這系列文章,也已經下定決心要把這本書的內容寫完。主要目的其實是為了鞏固LZ的理解,另外也想把這些內容分享給猿友們,畢竟LZ覺得這些內容對程序猿的實力還是有着很大的潛在提高的。 只是這種原理 ...
整數的表示和運算我們已經講完了,在實際應用中,整數能夠解決我們大部分問題。但是某些需要精確表示的數,比如某件商品的價格,某兩地之間的距離等等,我們如果用整數表示將會有很大的出入,這時候浮點數就產生了。 在 20世紀80年代以前,每個計算機廠商都設計了自己表示浮點數的規則,以及對浮點數執行運算 ...
引言 最近LZ有些略忙,因此這一章拖的時間有點久,不知道有沒有猿友在跟着看呢,LZ覺得應該幾乎沒有吧。畢竟這實在是一本乍一看十分枯燥的書,不過隨着慢慢的深入,不知道有沒有猿友慢慢找到了一點感覺呢。 本章我們來看一個特別有趣的內容,就是匯編級別的語言,如何利用寄存器實現 ...
引言 最近這個系列被並發拖后了,這實非LZ所願,本來LZ就是打算將這本書作為一切高級課題的基礎的,因此這本書應該走在並發這一類的前面。不過由於工作上剛好碰到了和高並發相關的任務,因此趁着工作所需,趁熱打鐵也是個不錯的做法。 上一次LZ給各位分析了過程的實現,其中精妙的棧幀占據 ...
引言 上一章LZ和各位一起討論了匯編當中對於流程控制的實現,其中12種條件碼寄存器的組合比較困難,估計各位猿友已經飽受摧殘了。深入理解計算機系統這本書確實比較難啃,說真的,LZ看這本書的時候偶爾也會比較蛋疼,不過LZ還是覺得要有始有終。我們飽受摧殘之后,一定是有巨大收獲的,請各位堅信 ...