1. 程式人生 > 其它 >計算機中的數及編碼

計算機中的數及編碼

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

計算機中的數及編碼

1、機器數與真值

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

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

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

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

2、帶符號數、無符號數

(1) 帶符號數

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

(2) 無符號數

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

3、原碼、反碼及補碼

(1) 原碼

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

例如:

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

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

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

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

(2) 反碼

正數的反碼就等於它的原碼;

負數的反碼就是它的原碼除符號位外,各位取反

例如:

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

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

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

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

(3) 補碼

正數的補碼就等於它的原碼;

負數的補碼就是它的反碼加1

例如:

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

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

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

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

4、補碼的運算

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

(1) 補碼的加法規則

[X + Y] = [X] + [Y]

例 :

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

​ [X]

= 0011 0110
​ +) [Y]= 1000 0111
​ [X]+ [Y] = 1011 1101

(2)補碼的減法規則

[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

5、二進位制編碼

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

(1) 二進位制編碼的十進位制數

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

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

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

(2) 字母和字元的編碼

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