微機原理 二 計算機中的數制和編碼

2021-09-12 18:58:09 字數 1291 閱讀 9429

二進位制的算數運算就不說了,不需要說

然後是二進位制的邏輯運算,與(and),或(or),非(not)也不用說,大家都知道.這裡主要說一下異或(xor),即:兩邏輯變數相同得0,不一樣得1

通常的,對於有符號數,最高位為符號位,其餘位為數值位,在符號位中,用"0"表示正,用"1』表示負.

我們把乙個數及其符號位在機器中的一組二進位制數表示形式稱為**「機器數」.機器數所表示的值稱為該機器數的"真值"**.

有 原碼,反碼,補碼三種方式表示機器數

5> 溢位及其判斷方法

1) 進製與溢位

所謂進製,是指運算結果的最高位向更高位的進製,用來判斷無符號數運算結果是否超出了計算機所能表達的最大無符號數的範圍

溢位是指帶符號數的補碼運算溢位,用來判斷帶符號數補碼運算結果是否超出了補碼所能表示的範圍.

2)溢位的判斷方法

1.觀察法:通過參加運算的兩個數的符號及運算結果的符號進行判斷(例如兩個正數相加不可能得到負數),但這種方法只適用於手工運算時的判斷

2.單符號位法: 如果符號位進製用cf來表示,當符號位向前有進製時,cf=1,否則cf=0;數值部分最高位的進製用df表示,該位向前有進製時,df=1,否則df=0;然後取cf和df的異或值: of = cf (xor) df

如果of=1,說明溢位.若of=0,則沒有溢位,也就是說:當符號位和數值最高位同時有進製或同時沒有進製時,結果不溢位.否則結果溢位

bcd碼: 將1位十進位制的0~9這十個數字分別用四位二進位製碼的組合來表示,在此基礎上可以對任意十進位制數進行編碼

1) 壓縮型bcd碼:用乙個位元組表示兩位十進位制數,即每四位表示乙個十進位制數.(例如10000110b表示十進位制數86)

2) 非壓縮型bcd碼:用乙個位元組表示一位十進位制數,高四位總是0000,低四位用0000~1001中的乙個組合來表示 0 ~ 9中的某乙個十進位制數

說明:雖然bcd碼可以簡化人機聯絡,但它比純二進位制編碼效率低.

2> ascii字元編碼

微機原理與系統設計二 計算機中的數制與碼制

二進位制轉換為十進位制數,設計程式往往採用除10取餘法 幾乎很少程式設計師採用位置加權法 數制間的相互轉換另一種常用的方法是比較法。二進位制數的運算 算術運算 邏輯運算 and or xor not 前三者影響psw中的標誌位,後者不影響 and應用場合 想要將某些位清零 or應用場合 想要將某些位...

計算機中的編碼

ascii 英文編碼,用乙個位元組 0 255 表示英文本元 gb2312 漢字編碼,用兩個位元組表示中文漢字,同時相容英文 多餘的部分用0補足 但是其他國家的文字都有自己的編碼方式,當不同國家的文字在一起時不能相容,此時出現了unicode編碼 但是unicode編碼在表示英文本元時會浪費一倍的儲...

計算機中的字元編碼

計算機中的字元編碼 ascii 美國資訊交換標準 american standard code for information interchange 基於拉丁字母的一套電腦編碼系統。它主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統。gb2312 國標2312編碼,單雙位元組編...