資料的表示及運算

2021-07-23 00:01:40 字數 1868 閱讀 4503



一、進製基數制及其轉換

1.如果只用r個基本符號表示數值,則稱其為r進製(radix-r number system),r稱為該數制的基數(radix)。

2.每種數制都使用位置表示法。也就是處於不同位置的數符所代表的值不同,與它所在位置的權值有關。

3.十進位制 轉化成 二進位制 口訣:整數部分,除二取餘。小數部分,乘二取整。(十進位制轉化成任意進製數都口使用次口訣)。

4.小進製轉化成大進製(此處略)

二、二進位制運算規則

1.加法:「逢二進一」減法:「借一當二」其他一樣。

三、機器數和碼制

1.機器數:各種資料在計算機中所表示的形式 其特點採用二進位制計數制,符號用0或1表示《小數點隱含表示而不佔位置》。

2.真值:機器數到對應的實際數值

3.純整數:小數點位置在機器數值最低數值位之後。

4.純小數:小數點位置在機器數值最高數值位之前。

5.無符號數:表數範圍是非負數即全部二進位制位均代表數值,沒有符號位。

6.帶符號機器數 不同的編碼方法:

1)原碼表示法:數值x的原碼記為[x]原 

最高位符號位,0為正1為負其餘的n-1表示數值的絕對值。

重點:數值0的原碼表示形式:[+0]原=00000000   [-0]原=10000000

例1(n=8):

[+1]原=00000001       [-1]原=10000001

[+127]原=01111111     [-127]原=11111111

2)反碼表示法:數值x的原碼記為[x]反

正數的反碼與原碼相同,負數的反碼則是其絕對值按位求反

重點:數值0的反碼表示形式:[+0]反=00000000   [-0]反=11111111

例2:[+1]反=00000001   [-1]反=11111110

[+127]反=01111111  [-127]反=10000000

3)補碼表示法:數值x的原碼記為[x]補

正數的補碼和反碼與原碼相同,負數的補碼等於其反碼的末尾加1

重點:0有唯一的編碼:[+0]補=00000000   [-0]補=00000000

[+1]補=00000001       [-1]補=11111111

[+127]補=01111111     [-127]補=10000001

4)移碼表示法:(此略)

四、定點數和浮點數

定點數:

顧名思義就是表示資料時小數點的位置固定不變。小數的位置通常有兩種約定方式:

定點整數,定點小數。

浮點數:

浮點數是指小數點不固定的數,他表示更大範圍的數。

乙個實數可以寫成多種表示形式:例如:

83.125=10^3 x0.083125 或  10^4x0.0083125等

二進位制數: 例如:1011.10101可寫成 2^4x0.101110101

總結式:n=2^exf(其中e為階碼,f為尾數)這種表示資料的方法稱為浮點表示法。

浮點數的表示格式如下:

|--------|----------|---------|--------|

|  階符  |  階碼    |  數符   |  尾數  |

|--------|----------|---------|--------| 

由此不難看出浮點數所能表示的 數值範圍 主要由《階碼》決定;數值的精度主要由《尾數》決定

注意:當尾數的值不為0時規定尾數域的最高有效位應為1,這是浮點數的規格化表示。

注意:1)在n=2^exf 中f 當f>=0 時 則其規格化為01******x...其中x可以為0也可為1

2)當f<0   則其規格化為10******x...其中x可以為0也可為1

參考文獻《程式設計師教程》

記憶體表示,位運算及位元組序

這篇文章始於對這麼個程式的思考 intmain int argc char argv 用二進位制編輯器 如ultraedit 開啟程式輸出結果檔案 test.txt 檢視,結果是 87 d6 12 00 如果將87d61200直接輸入計算器,轉變成十進位制數,那就是2278953472,並非我們所期...

記憶體表示位運算及位元組序

原文 intmain int argc char argv 用二進位制編輯器 如ultraedit 開啟程式輸出結果檔案 test.txt 檢視,結果是 87 d6 12 00 如果將87d61200直接輸入計算器,轉變成十進位制數,那就是2278953472,並非我們所期待的1234567,但如果...

資料表示 運算與校驗

進製計數制 數制的基與權 在任一數制中,每乙個數字上允許使用的記數符號的個數被稱為該數制的基數。每一位都對應1個表示該位在數碼中的位置的值,這個值就稱為數字的權值。數值轉換 二進位制 十進位制 八進位制 十六進製制。十進位制整數轉換為任意進製整數的規則是 除 以 基取餘 先余為低,後余為高 十進位制...