微機原理幾個重要的基礎知識

來源:互聯網
上載者:User

1.機器數和真值

電腦中只能表示0和1兩種數位,為了表示正數和負數,需要專門選擇一位符號位來表示數的符號,一般選擇最高位,符號位為0的時候表示正數,符號位為1的時候表示負數,也就是說數的符號在電腦中數位化了。

我們把一個數在電腦中的表示形式稱為機器數,原來實際數的本身的值叫做真值.

機器數的特點:

(1).機器數的加號或減號數值化;

(2).機器數表示的範圍的大小受到機器字長的限制。

位(Bit)的概念: 電腦所能表示的最小資料單位,只有0和1兩種狀態,表示更大的數就要把更多的位組合起來作為一個整體,每增加一位,所能表示的數就增大一倍.

位元組(Byte)的概念:一個位元組為8位位元,是電腦處理資料的基本單位,微機的儲存空間是由一個一個儲存單元構成的,每個儲存單元就是一個位元組,因此儲存空間是以位元組為單位編址的,儲存容量的大小也是也位元組數來度量的。

字(Word)的概念: 電腦處理資料時,CPU通過資料匯流排一次存取,加工或傳送的資料。通常由一個位元組或者多個位元組構成.

字長(Word Length)的概念: 字的二進位的位元.字長是電腦一次所能處理的實際位元的長度,所以字長是衡量電腦效能的一個重要標誌。通常說的電腦是多少多少位的位就是指的字長.

(3).小數點不能直接標出,需要按一定方式約定小數點的位置.

2.符號數的表示方法:

為瞭解決帶符號的機器數在機器中運算時的問題,引出了機器數x的三種不同的編碼形式。

設x=x(1)  x(2)  x(3) ... x(n-1) ,其中x(i)為一位位元,i=1,2,...,(n-1),

(1).原碼

若x>=0 時, [ x ]原=0 x(1)  x(2) ....x(n-1);

若x<=0時,  [ x ]原=1 x(1)  x(2) ....x(n-1);

根據定義,有

[+0]原=0 0 0 0 0..

[-0 ]原=1 0 0 0 0...

優點:表示簡單,與真值轉換方便;

缺點:運算時需要判斷符號,增加機器的運算時間;

(2)反碼

若x>=0 時, [ x ]反=0 x(1)  x(2) ....x(n-1);

若x<=0時,  [ x ]反=1 x(1)  x(2) ....x(n-1);

根據定義,有

[+0]反=0 0 0 0 0..

[-0 ]反=1 111111..

(3).補碼

若x>=0 時, [ x ]補=0 x(1)  x(2) ....x(n-1);

若x<=0時,  [ x ]補=[ x ]反+1;

根據定義,有

[+0]補=0 0 0 0 0..

[-0 ]補=00 0 0 0...

優點:補碼便於電腦運算;

3.補碼的運算

(1).若x為負數,則[ [x]補 ]補=[ x ]原

(2).=+
    該式的語言表達是兩個N位位元之和的補碼 等於兩數補碼之和。
    當帶符號兩數採用補碼形式表示時,進行加法運算可以把符號位和數值位一起進行運算(若符號位有進位,則丟掉),結果為兩數之和的補碼形式。

(3).=+
    該式表明,求可以用與相加來實現。
    這裡的 ,即對減數進行求負操作,也就是對補碼錶示的數(無論是正數還是負數)求得其相應的用補碼錶示的負數(如果原來是正數,求負後得負數,原來是負數,求負後得正數)。一般稱已知 求得的過程叫變補或求負。兩個帶符號數採用補碼錶示時,減法運算可以通過“變補相 加法”來實現,即 - = +

注:[ -y ]補的求法: 對[ y ]補 "連同符號位在內一起變反加1";

4.補碼運算中的溢出的解決方案

(1).使用雙符號位.

(2).使用進位

5.定點數和浮點數

(1).定點數就是小數點的位置在數中固定不變.

兩種表示方法:定點純小數和定點純整數;

(2).浮點標記法;

N=2p S

其中N表示浮點數或者實數,

S表示N的尾數,用帶符號的定點小數表示,一般用原碼錶示;尾數長短規定了數位有效位元(精度)

2表示N的底數,

p表示指數,稱為階碼,用帶符號的整數,一般用補碼錶示;階碼的大小規定了數的範圍;

浮點數的表示形式

階符 階碼 尾符 尾數;

階符表示階碼的符號位,0表示為正,1表示為負;

尾符表示位元的符號位,0表示為正,1表示為負;

規格化的浮點數: 滿足 0.5<= S <1 的限制;

(3) IEEE的浮點數表示方法

6.BCD碼

BCD碼:
  BCD(Binary Coded Decimal)是用二進位編碼錶示的十進位數(見表3.3),十進位數採用0~9十個數字,是人們最常用的。在電腦中,同一個數可以用兩種BCD格式來表示:①壓縮的BCD碼 ②非壓縮的BCD碼

  壓縮的BCD碼:
  壓縮的BCD碼用4位位元表示一個十進位數位,整個十進位數用一串BCD碼來表示。例如,十進位數59表示成壓縮的BCD碼為0101 1001,十進位數1946表示成壓縮的BCD碼為0001 1001 0100 0110。

  非壓縮的BCD碼:
  非壓縮的BCD碼用8位位元表示一個十進位數位,其中低4位是BCD碼,高4位是0。例如,十進位數78表示成壓縮的BCD碼為0000 0111 0000 1000。

  從鍵盤輸入資料時,電腦接收的是ASCII碼,要將ASCII碼錶示的數轉換成BCD碼是很簡單的,只要把ASCII碼的高4位清零即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.