2.1 數(shù)據(jù)信息的表示方法
2.1.1 數(shù)值數(shù)據(jù)的表示
1.真值與機器數(shù)
在日常生活中,人么習慣用正負符號來表示正數(shù)負數(shù),如果采用正,負號加二進制絕對值,則這種數(shù)值稱為真值,計算機中所能表示的書或其他信息都是數(shù)碼化的,所以可以將正負號用0和1表示(0正1負),并置于數(shù)的最高位,這種在機器中使用的連同字符一起數(shù)碼化的數(shù)稱為機器數(shù)。
2.數(shù)的機器碼表示
根據(jù)需要,通常機器數(shù)的表示方法有4種:原碼,補碼,反碼和移碼
模:計算器具的容量,或稱為模數(shù),對于N位數(shù)來說,模的大小就是N位數(shù)全為1后再在末位加1
對于純整數(shù)補碼來說。對于真值0,其補碼唯一
對于正數(shù)來說,反碼,原碼,補碼表示形式相同,對于負數(shù)來說,反碼的符號位與原碼,補碼的符號位定義相同,只是將原碼的數(shù)值位按位取反。
移碼:將補碼符號位求反即得該數(shù)的移碼
3.浮點表示法
如果要處理的數(shù)據(jù)既有整數(shù)部分,又有小數(shù)部分,或者要求數(shù)值表示的范圍很大,則要使用浮點的表示形式(即小數(shù)的位置不固定,是浮動的),例如,可將二進制數(shù)10.0011表示成1.00011,小數(shù)點的位置可以用
來調(diào)整。
? ?1)浮點數(shù)的表示格式
?浮點表示法把字長分為階碼(表示指數(shù))和尾數(shù)(表示數(shù)值)兩部分
? ? 2)浮點數(shù)的規(guī)格化
為了使浮點數(shù)盡可能有更高的精度,采取的措施是增加位數(shù),或者在字長一定的情況下把階碼和位數(shù)所占的位數(shù)協(xié)調(diào)好,措施二則是浮點數(shù)的規(guī)格化表示:
? ?1.原碼規(guī)格化后,正數(shù)為0.1...
的形式,負數(shù)則為1.1
...
的形式
? ?2.補碼規(guī)格化后,正數(shù)為0.1的格式,負數(shù)則為
d的格式
? ? 3)溢出問題
定點數(shù)判斷溢出的方法是對數(shù)值本身進行判斷,而浮點數(shù)是對規(guī)格化后的階碼進行判斷。當一個浮點數(shù)階碼大于機器的最大階碼時,稱為上溢;而小于最小階碼時,稱為下溢。機器產(chǎn)生上溢時,不能再繼續(xù)運算,一般進行中斷處理;出現(xiàn)下溢時,一般規(guī)定把浮點數(shù)個位強迫為0(當作0處理),機器仍可以繼續(xù)運算!