先來個自我介紹吧,本人現在大二學生一枚,懷著激動的心情決定開始記錄下自己每天的進步,今天也算起了個大早學習來預習功課,今天學習到的就是數的機器碼。讓我們先通過乙個簡單的問題來引出我們的」幾大主人公」。
問題描述:
現在有十個袋子,每個裡面有十個金幣,有一袋假金幣,真金幣重10g,假金幣重9g,現在給你一桿秤,最少稱幾次可以找出假金幣?問題解答:答案為一次。我們只需要將這10個袋子從0開始依次編碼到9,隨後依次取出對應編碼數量的金幣,如果重為45g,則編號為0的袋子是假的,否則,與45g差多少就是幾號袋子為假的。
看到這裡,你有沒有感到編碼的神奇之處。好啦,我們go on!
讓我們先來看個**
原碼(二進位制表示即可)
真值(十進位制)
0000
00001
10010
20011
30100
40101
50110
60111
71000
-01001
-11010
-21011
-31100
-41101
-51110
-61111
-7通過這張表,我們不難看出,用原碼的表示方法:第一位為符號位,對於四位二進位制的取值範圍就是[-7,+7]。
但是,我們用原碼進行計算時就會出現問題
所以我們則引入了補碼。
今天小森發呆之時,看著鐘錶滴答滴答,發現好像時間不對勁,現在是3點,而鐘錶顯示8點,那麼我要麼順時針撥動5周,要麼逆時針撥動7周,這實際上就用到了我們的補碼,對於鐘錶,我們可以認為模為12即mod 12。
那麼我們就可以通過該公式:當x<0時,[x]補碼=mod+x,我們來通過乙個計算(-001)的補碼來深層次的理解下這個公式
這也就是我們經常掛在嘴邊的取反加一。
同樣如果想求真值x也可以逆用該公式,或者用:
注:xn這裡指的為符號位。
另一種方法:從補碼構成角度求負數補碼真值
補碼構成: 符號位+補數其實呢,x的移碼=移動的數值+x,也就是呢,移動多少加多少。或者將補碼的符號位取反即可。方法:將符號位後的補數拿走全部替換為0-補數
計算機組成原理筆記(一)
任何複雜運算和操作都轉化為二進位制 表示的指令,資料也用二進位制 來表示 將程式和資料儲存起來,讓計算機自動執行指令,完成各種複雜的運算操作 主要由控制器和運算器組成 1 運算器 功能 完成算術和邏輯運算 組成特點 主要由alu 算術邏輯單元 構成,執行算術 邏輯運算以及移位迴圈等操作,是cpu功能...
計算機組成原理 筆記
匯流排的意義 計算機系統部件之間的連線有兩種,一種是分散連線,一種是匯流排連線,因為當部件多的時候,根據排列組合公式,每兩個部件之間都用連線將變得不經濟並且難以實現,故匯流排的出現是為了是各部件之間的通訊體系實現最優化。匯流排是連線多個部件的資訊傳輸線,是個部件共享的傳輸介質。某一時刻只允許有乙個部...
計算機組成原理筆記
第一章 計算機系統概論 計算機分為硬體和軟體 硬體指各種組成的電子元器件 軟體分為系統軟體和應用軟體 系統軟體主要用來管理計算機系統,管理計算機資源,高效率運用資源,包括標準程式庫,語言處理程式,作業系統,資料庫管理系統,網路軟體等 應用軟體稱為應用程式,根據使用者的需求編制的各種應用程式 複雜的計...