天天看點

計算機中的數及編碼

介紹了計算機中數的編碼相關知識。

(1) 在計算機中數是用二進制來表示的

(高電平代表“1”,低電平代表“0”)

(2) 數的符号在計算機中也是用二進制數表示的。

“+”用“0”表示, “-”用“1”表示。

用0表示正數,用1表示負數,這種表示數的方法,稱為帶符号數的表示方法,所表示的數稱為帶符号數。

如果把全部有效位都用來表示數的大小,即沒有符号位,這種方法表示的數,叫無符号數。

一個數的原碼就是該數的機器數

例如:

​ X1 = +67 = +1000011B [X1]原 = 01000011B

​ X2 = -67 = -1000011B [X2]原 = 11000011B

在原碼表示法中,數0的原碼有兩種形式:

[+0]原 = 00000000B [-0]原 = 10000000B

正數的反碼就等于它的原碼; 負數的反碼就是它的原碼除符号位外,各位取反。

​ X1 = +67 = +1000011B [X1]反 = 01000011B

​ X2 = -67 = -1000011B [X2]反 = 10111100B

在反碼表示法中,數0的原碼也有兩種形式:

​ [ +0 ]原 = 00000000B [ -0 ]原 = 11111111B

正數的補碼就等于它的原碼; 負數的補碼就是它的反碼加1。

​ X1 = +67 = +1000011B [X1]補 = [X1]原 = 01000011B

​ X2 = -67 = -1000011B [X2]補 = [X2]反 + 1 = 10111101B

根據定義,0的補碼僅有一種表現形式:

​ [ +0 ]補 = [ -0 ]補 = 00000000B

補碼的運算就是計算機中數的運算。

​ [X + Y]補 = [X]補 + [Y]補

例 :

​ X=+011 0110 ,Y=-111 1001,求X+Y=?

​ [X]補= 0011 0110

​ +) [Y]補= 1000 0111

​ [X]補+ [Y]補 = 1011 1101

​ [X - Y]補 = [X]補 + [-Y]補

例:

​ X=+101 0101 ,Y= + 110 0001,求X - Y=?

​ [-Y]原=1110 0001

​ [-Y]反=1001 1110

​ [-Y]補=1001 1111

​ [X]補 = 0101 0101

​ +) [- Y]補 = 1001 1111

​ [X]補 + [- Y]補 = 1111 0100

二進制編碼是指用二進制代碼來表示計算機中所要處理的數值、數字、字母和符号等,一般為若幹位二進制數位的組合。

二進制編碼的十進制數 就是BCD碼(Binary Coded Decimal)。

1️⃣ 壓縮BCD碼 用4位二進制數表示一位十進制數。一個位元組表示兩位十進制數。

2️⃣ 非壓縮BCD碼 用一個位元組表示一位十進制數。高4位總是0。

計算機中的數及編碼
計算機不僅要處理數值問題,還要處理大量的非數值問題,這就必須引入文字、字母,某些專用的符号,這就是目前應用最廣泛的字元編碼系統ASCII碼。(American Standard Code for Information Interchange,美國資訊交換标準碼)
計算機中的數及編碼