- 計(jì)算機(jī)應(yīng)用基礎(chǔ)
- 齊翠巧 張孟輝
- 1310字
- 2019-10-18 19:19:12
1.3.5 數(shù)值型數(shù)據(jù)的表示方法
數(shù)值型數(shù)據(jù)指數(shù)學(xué)中的代數(shù)值,具有量的含義,且有正負(fù)之分、整數(shù)和小數(shù)之分。
1.機(jī)器數(shù)的概念
任何一個(gè)非二進(jìn)制整數(shù)輸入到計(jì)算機(jī)中都必須以二進(jìn)制格式存放在計(jì)算機(jī)的存儲(chǔ)器中。每個(gè)數(shù)據(jù)占用一個(gè)或多個(gè)字節(jié)。通常把一個(gè)數(shù)的最高位規(guī)定為數(shù)值的符號(hào)位,用“0”表示正,用“1”表示負(fù),稱為數(shù)符,其余的數(shù)表示數(shù)值。這種連同數(shù)字與符號(hào)組合在一起的二進(jìn)制數(shù)稱為機(jī)器數(shù)。由機(jī)器數(shù)所表示的實(shí)際值稱為真值。
要全面、完整地表示一個(gè)機(jī)器數(shù),應(yīng)該考慮三個(gè)因素:機(jī)器數(shù)的范圍、機(jī)器數(shù)的符號(hào)、機(jī)器數(shù)中小數(shù)點(diǎn)的位置。
(1)機(jī)器數(shù)的范圍。由于計(jì)算機(jī)設(shè)備上的限制及滿足操作上的便利,機(jī)器數(shù)都有固定的位數(shù),因此它表示的數(shù)受到固定位數(shù)的限制,機(jī)器數(shù)的范圍由硬件(CPU中的寄存器)決定,超過(guò)這個(gè)范圍就會(huì)產(chǎn)生“溢出”。
當(dāng)使用8位寄存器時(shí),字長(zhǎng)為8位,所以一個(gè)無(wú)符號(hào)整數(shù)的最大值是255,即(11111111)2=(255)10,此時(shí)機(jī)器數(shù)的范圍為0~255,如果超過(guò)這個(gè)值,就會(huì)產(chǎn)生“溢出”;當(dāng)使用16位寄存器時(shí),字長(zhǎng)為16位,所以一個(gè)無(wú)符號(hào)整數(shù)的最大值是(FFFF)16=(65535)10。此時(shí)機(jī)器數(shù)的范圍為0~65535。
(2)機(jī)器數(shù)的符號(hào)。不考慮正負(fù)的機(jī)器數(shù)稱為無(wú)符號(hào)數(shù);考慮正負(fù)的機(jī)器數(shù)稱為有符號(hào)數(shù)。例如,一個(gè)8位機(jī)器數(shù),其最高位是符號(hào)位,那么在定點(diǎn)整數(shù)原碼表示情況下,對(duì)于00110010和10011001,其真值分別為十進(jìn)制數(shù)+50和-25。
如果用一個(gè)字節(jié)表示一個(gè)有符號(hào)整數(shù),其取值范圍-127~+127。例如:如果用一個(gè)字節(jié)表示整數(shù),則能表示的最大正整數(shù)為01111111(最高位為符號(hào)位),即最大值為127,若│數(shù)值│>127,則“溢出”。
(3)機(jī)器數(shù)中小數(shù)點(diǎn)的位置。帶小數(shù)點(diǎn)的數(shù)在計(jì)算機(jī)中用隱含規(guī)定小數(shù)點(diǎn)的位置來(lái)表示。根據(jù)小數(shù)點(diǎn)的位置是否固定,分為定點(diǎn)數(shù)和浮點(diǎn)數(shù)。
2.定點(diǎn)數(shù)和浮點(diǎn)數(shù)
(1)定點(diǎn)數(shù)的表示法
定點(diǎn)數(shù)的表示法是把小數(shù)點(diǎn)約定在機(jī)器數(shù)的某一固定的位置上。
如果小數(shù)點(diǎn)約定在符號(hào)位和數(shù)值的最高位之間,那么所有參加運(yùn)算的數(shù)的絕對(duì)值小于1,即為定點(diǎn)純小數(shù)。
【例1-11】設(shè)機(jī)器數(shù)的定點(diǎn)數(shù)長(zhǎng)度為2字節(jié)(8個(gè)二進(jìn)制位稱為一個(gè)字節(jié)),請(qǐng)用定點(diǎn)數(shù)表示(0.8125)10。
(0.8125)10=(0.1101)2,在機(jī)器內(nèi)表示形式為

如果小數(shù)點(diǎn)約定在數(shù)值的最低位之后,那么所有參加運(yùn)算的數(shù)都是整數(shù),即為定點(diǎn)整數(shù)。
【例1-12】設(shè)機(jī)器數(shù)的定點(diǎn)數(shù)長(zhǎng)度為2字節(jié)(8個(gè)二進(jìn)制位稱為一個(gè)字節(jié)),請(qǐng)用定點(diǎn)數(shù)表示整數(shù)(-185)10。(-185)10=(-10111001)2,在機(jī)器內(nèi)表示形式為

定點(diǎn)數(shù)在使用時(shí),所有原始數(shù)據(jù)事先都要按比例轉(zhuǎn)換成純小數(shù)或整數(shù),運(yùn)算結(jié)果還要按比例轉(zhuǎn)換成實(shí)際值。
定點(diǎn)表示法所能表示的數(shù)值范圍非常有限,一個(gè)n位的無(wú)符號(hào)二進(jìn)制數(shù)X,其表示范圍為:0≤X≤2n-1,若運(yùn)算結(jié)果超出這個(gè)范圍,則產(chǎn)生“溢出”。
(2)浮點(diǎn)數(shù)的表示法
浮點(diǎn)數(shù)是指小數(shù)點(diǎn)位置不固定的數(shù),它既有整數(shù)部分又有小數(shù)部分,如121.57、63.589等。
任何一個(gè)二進(jìn)制數(shù)N都可寫(xiě)成:N=±S×2±j。
其中就j稱為N的階碼,j前面的正、負(fù)號(hào)稱為階符,S稱為N的尾數(shù),S前面的正、負(fù)號(hào)稱為數(shù)符。
在計(jì)算機(jī)中一般浮點(diǎn)數(shù)的存放形式為

在浮點(diǎn)數(shù)表示中,數(shù)符和階符各占用一位,階碼是定點(diǎn)整數(shù),階碼的位數(shù)決定了所表示的數(shù)的范圍,尾數(shù)是定點(diǎn)小數(shù),尾數(shù)的位數(shù)決定了數(shù)的精度,在不同字長(zhǎng)的計(jì)算機(jī)中,浮點(diǎn)數(shù)所占的位數(shù)不同,一般占用2個(gè)或4個(gè)機(jī)器字長(zhǎng)。
- Clojure Programming Cookbook
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- AngularJS Testing Cookbook
- GraphQL學(xué)習(xí)指南
- 潮流:UI設(shè)計(jì)必修課
- Mastering QGIS
- Architecting the Industrial Internet
- 軟件測(cè)試綜合技術(shù)
- R Data Science Essentials
- OpenMP核心技術(shù)指南
- R語(yǔ)言數(shù)據(jù)挖掘:實(shí)用項(xiàng)目解析
- Photoshop智能手機(jī)APP界面設(shè)計(jì)
- Java EE實(shí)用教程
- 例解Python:Python編程快速入門踐行指南
- C語(yǔ)言程序設(shè)計(jì)