計算機基礎 碼制表示

2021-08-04 05:40:28 字數 973 閱讀 2363

前言:我們知道,計算機最底層是以二進位制組織和儲存資料的,乙個位元組當中,最高位是表示符號位,1表示負數,0表示整數,其餘的七個位則是真正的數值。例如 十進位制 -18 轉換成二進位制就是 10010010.

原碼:原碼就是十進位制轉換成二進位制後的機器碼,如[-18]原碼 = 10010010,[+18]原碼 = 00010010.

反碼:整數的反碼就是原碼本身,負數的反碼就是除了符號位的其他位取反,如[-18]原碼 = 10010010,[-18]反碼 = 11101101.

補碼:正數的補碼就是原碼本身,負數的補碼是在其反碼的基礎上再加1,如[-18]原碼 = 10010010 , [-18]反碼 = 11101101,[-18]補碼 = 11101110. 還有一種根據原碼快速取負數補碼的方法,從右往左看,當遇到第乙個1,這個1不用變,後面除了符號位之外的位全部取反就可以。

為什麼會有反碼和補碼呢?

因為在計算機計算中,減去乙個整數就相當於加上乙個負數,這樣的話就可以只用設計加法的計算了。如:[+18]原碼 +[-18]原碼 =[+18]反碼+[-18]反碼 = [00010010]反碼 + [11101101]反碼 = [11111111 ]反碼 = [10000000]原碼 = -0. 這裡就出現了乙個問題,-0 和+0 都是表示的0,但是他們的編碼卻是不同的。於是補碼出現了,成功解決了這一問題,[+18] + [-18] = [00010010]補碼 + [11101110]補碼 = [00000000]補碼 = [00000000]原碼,這樣用補碼表示0就是唯一的了,同時還可以用[10000000]補碼來表示-128,但是要注意的是,-128在原碼和反碼中都沒有表示的。

因此我們可以發現,乙個位元組中,原碼的表示範圍是[-127,-0,+0,+127],反碼的範圍是[-127,-0,+0,+127],補碼的範圍是[-128,0,127]。

計算機 計算機基礎整理

大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...

計算機基礎

1 32位作業系統的記憶體分配 1 32位作業系統 windows linux 支援4g 2 32 記憶體的連續訪問 2 32位作業系統,通常把記憶體分為兩個2g的空間,每個程式執行時,就是每個程序,最大可以使用2g的私有記憶體 0x00000000 0x80000000 即理論支援如下的陣列 ch...

計算機基礎

1 完整的計算機系統 完整的計算機系統應該是由以下幾個部分組成 1.計算機硬體。2.作業系統。3.應用程式。2 計算機硬體介紹 1.控制器 計算機的控制指揮系統,通過產生操作控制訊號作用於計算機其他部件。2.運算器 實現算術運算和邏輯運算的部件。3.儲存器 用來存放各類資料檔案以及程式的部件。4.輸...