數制與編碼基礎知識

2021-07-30 22:18:22 字數 1280 閱讀 1018

表式方式

二進位制:101(b)

八進位制:306(o/q)

十進位制:23(d)

十六進製制:12abcdef(h)

轉換方式

二進位制轉八進位制:從小數點切開,整數部分自右向左三位數字轉換為一位八進位制,小數部分自左向右三位數字轉換為一位八進位制,位數不夠加0

二進位制轉十六進製制:方式如同二進位制轉八進位制,不同在於四位轉一位

八進位制轉十六進製制:先八進位制轉二進位制,然後再二進位制轉十六進製制

二進位制運算

(1)加減運算

與十進位制加減運算相同

(2)乘除運算

乘法:0x任何數=0 1x任何數=任何數

除法:與十進位制無異

(3)邏輯運算

與或非異或(相同為0不同為1)

真值與字長

(1)真值

計算機中使用二進位制數的第一位表示正負,比如第一位是1表示-,0表示正,則1111的真值為-7,0111的真值為7

(2)字長

字長表示的是計算機能夠一次處理的二進位制數值碼的長度,是計算機儲存和運算處理的運算單位。

比如通常說的32位處理器字長為32。

通常認為16位為乙個字,32位是乙個雙字,64位是兩個雙字。

8位字長的處理器可處理資料的範圍是(-127 - -0,+0 - 127)共256位數(其中+0和-0的二進位制表示並不一樣)

四種表達方式

(1)原碼

(2)補碼(利用了模的思想,在時鐘當中,-10 = 2)

補碼的出現是為了解決原碼存在的異號相加減會出現的問題以及原碼的0具有二義性的問題。

比如101 + 001 = 110 = -2(d)這樣的問題

補碼的計算方式:

正數的補碼就是本身, 負數的補碼是先把除了符號位以外的所有位數取反,再在末位+1獲得。

比如101的補碼就是110+001=111,001的補碼就是001,於是101+001=111+001=000為0。

(3)反碼(除符號位以外取反即可,反碼是原碼向補碼進化的過渡,事實證明不能完好解決原碼存在的問題)

(4)移碼

真值部分與補碼相同,符號部分與補碼相反。

求解方法:先求出反碼,再把符號位取反即可。

(5)補碼運算

加法:

兩數和的補碼=兩數補碼之和

減法:

兩數差的補碼=被減數的補碼+減數負值的補碼

減數的負值計算方式:全部位(包含符號位)取反再加1

數制與編碼

零有兩種表示 0 0 00000000 0 10000000 0 c in c rightarrow cin 低位向最高有效位 即符號位 的進製。c ou t c rightarrow cout 最高有效位 即符號位 向更高有效位的進製 編碼 用於表示不同數或其他事件的一組n位二進位製碼的集合 se...

2 1數制與編碼

二進位制編碼的十進位制數 binary coded decimal 通常採用4位二進位制數來表示一位十進位制數中的0 9這10個數碼 4位二進位制數可以組合出16種 故必有6種狀態為冗餘狀態 最常用的為8421碼 8421碼為有權碼,權值從高到低為8 4 2 1 8421碼6位無效碼 1010 11...

2 1 數制與編碼

在日常生活中一般採用進製計數法。在進製計數法中,每個數字所用到的不同數碼的個數稱為基數。十進位制的基數為10 0 9 進製間的不同轉換 2進製轉換為8進製,16進製制,可以每3位,4位去直接對應8進製,16進製制去轉換,可以根據情況在整數前面補0和在小數後面補0.因為 不同的進製轉換成10進製,可以...