數值型數據的表示

一、進位計數制
1.進位計數制的基本概念
  凡是按照進位的方式計數的數制稱爲進位計數制,簡稱爲數制。生活中我們常用十進制計數,有些情況下我們也使用其他進制,比如使用六十進制表示時間中的小時.分、秒的計數。
  各種進位計數制可統一表示爲:

在這裏插入圖片描述

各參數說明:
R——某種進位計數制的基數。
i——位序號。
Ki—— 第i位上的一個數碼,爲0 ~(R- 1)中的任-一個。
R^i——則表示第i位上的權。
m ,n——最低位和最高位的位序號。

  數制中的三個基本名詞術語:
  數碼——用不同的數字符號來表示- .種數制的數值,這些數字符號稱爲“數碼”。例如,十進制的數碼有0、1、2、3、4、5、6、7、8、9,而二進制的數碼只有0和1。
  基數——數制所使用的數碼個數稱爲“基數”,簡稱“基”。所以某種進位制中,基數是會產生進位的數值,也就是每個位數中所允許的最大數碼值加1。例如,十進制中,每位上的數碼允許選用0~9這10個數碼中的一個,十進制數制的基數就等於10。而二進制的每位上的數碼允許選用0或1兩個數碼中的一個,二進制數制的基數就等於2。
  位權——一個數碼在不同的數位上時所表示的數值是不同的,例如,在十進制中,個位上的1代表1X10^0,而百位上的1則表示1X10^2。 某數制各位所具有的值稱爲“位權”,簡稱“權”。該位數碼所表示的數值就等於該數碼本身的值乘以該位的權值。
例如:十進制數123456.7 可以表示爲:
123456.7=1X10^5+2X10^4+3X10^3+4X10^2+5X10^1+6X10^0+7X10^(-1)

2.計算機科學中常用的記數制是二進制、八進制、十六進制。這裏我就不一一贅述了。
二、無符號數
  計算機CPU中寄存器是用來存放數據的,通常稱寄存器的位數爲CPU的機器字長。所謂無符號數,就是沒有符號的數(只能表示正數),在寄存器中的每–位均可用來存放數值,面與其相對的另一個概念——有符號數要複雜一些。因爲有符號數還能表示負數,這就需要有一個數據位來表示數據的正負,所以無符號數是相對於有符號數而言的,指的是整個機器字長的全部二進制位均表示數值位,相當於數的絕對值。由於無符號數和有符號數的這一一區別,在同- .機器字長的條件下,無符號數與有符號數所能表示的數值範圍也是不同的。例如,機器字長同爲16 位的情況下,無符號數的取值範圍爲:0 ~ 65535.而有符號數如果採用補碼錶示法(關於補碼下面會學到),取值範圍則爲:-32768 ~ + 32767.

三、有符號數
1.真值與機器數的概念
  學習有符號數首先要理解兩個專業術語:真值和機器數。我們平時使用符號“-”來表示一個負數,例如-100,-32,使用“+”或省略“+“來表示一個正數,
例如+65,+ 130。這些例子中的實際值就叫真值。真值往往是面向人的,可以用二進制數表示,也可用其他進制數表示,但根據習慣,常用十進制數表示。而在計算機中,因爲只能表示0和1兩種數碼,所以計算機中任何信息都是採用0和1的組合序列來表示。也就是說,對於有符號數來說,也只能用0或者1來表示“正”或“負”。一般情況下,都用0來表示“正”,用1來表示“負”,並且將符號位放在有效數字的前面,來組成一個有符號 數。一個數在機器中的表示形式稱爲機器數。形式上爲二進制數,但有別於日常生活中使用的二進制數。

機器數和日常生活中使用的二進制數(真值)比較,有如下一些特點: .
  (1)機器數爲二進制形式,用0和1組合來表示數據,包括符號。機器數符號數碼化,一般使用機器數的最高位爲符號位,當符號位爲0,表示爲正數;符號位爲1,表示爲負數。
  (2)小數點不直接出現。 機器數通過- -定的方式來表示數的小數點位置,有定點表示法和浮點表
示法。
  (3)機器數使用時需要明確採用的位數(字長),即一個機器數所佔用的存儲空間大小,以bit(一個二進制位)或Byte(一個字節,八個二進制位)爲單位。相應的,不同機器數所能表示的真值是有一定的取值範圍的。
有符號數X採用三種編碼方式記錄一個真值——原碼、 反碼和補碼,分別記作:[X]、[X]和[X]。爲什麼需要有符號數的不同的編碼方式呢?由於機器數對符號位進行了數碼化。那麼,在需要對計算機中的機器數進行四則運算時,符號位作爲數據的一部分,也應當參與到運算中來。但是,如.果參與運算,又如何對其進行處理呢?關於這些問題,在下面講述的編碼方式部分(補碼和反碼)中會提到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章