在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>電腦硬件>臺式機>

數的機器碼表示,數的機器碼表示原理圖解

2010年04月13日 11:31 m.xsypw.cn 作者:佚名 用戶評論(0
關鍵字:機器碼(8309)

數的機器碼表示,數的機器碼表示原理圖解

  
  在計算機中對數據進行運算操作時,符號位如何表示呢?是否也同數值位一道參加運算操作呢?為了妥善的處理好這些問題,就產生了把符號位和數字位一起編碼來表示相應的數的各種表示方法,如原碼、補碼、反碼、移碼等。為了區別一般書寫表示的數和機器中這些編碼表示的數,通常將前者稱為真值,后者稱為機器數或機器碼。
  
  1.原碼表示法
  
  若定點小數的原碼形式為012…xn,則原碼表示的定義是
  
  ? (2.7)
  
  式中[]是機器數,是真值
  
  例如,=+0.1001,則[]=0.1001
  
  =-0.1001,則[]=1.1001
  
  對于0,原碼機器中往往有“+0”、“-0”之分,故有兩種形式:
  
  [+0]=0.000...0
  
  [-0]=1.000...0
  
  若定點整數的原碼形式為012…xn,則原碼表示的定義是
  
  ? (2.8)
  
  采用原碼表示法簡單易懂,但它的最大缺點是加法運算復雜。這是因為,當兩數相加時,如果是同號則數值相加;如果是異號,則要進行減法。而在進行減法時還要比較絕對值的大小,然后大數減去小數,最后還要給結果選擇符號。為了解決這些矛盾,人們找到了補碼表示法。

2.補碼表示法
  
  我們先以鐘表對時為例說明補碼的概念。假設現在的標準時間為4點正; 而有一只表已經7點了,為了校準時間,可以采用兩種方法:一是將時針退 7-4=3 格;一是將時針向前撥12-3=9格。這兩種方法都能對準到4點,由此可以看出,減3和加9是等價的,就是說9是(-3)對12的補碼,可以用數學公式表示
  
  -3=+9(mod12)
  
  mod12的意思就是12模數,這個“模”表示被丟掉的數值。上式在數學上稱為同余式。
  
  上例中其所以7-3和7+9(mod12)等價,原因就是表指針超過12時,將12自動丟掉,最后得到16-12=4。從這里可以得到一個啟示,就是負數用補碼表示時,可以把減法轉化為加法。這樣,在計算機中實現起來就比較方便。
  
  若定點小數補碼形式為0.x12…xn,則補碼表示的定義是
  
  ? (2.9)
  
  例如,=+0.1011,則[]=0.1011
  
  =-0.1011,則[]=10+x=10.0000-0.1011=1.0101
  
  對于0,[+0]=[-0]=0.0000???????????????  (mod 2)
  
  注意,0的補碼表示只有一種形式。
  
  采用補碼表示法進行減法運算就比原碼方便得多了。因為不論數是正還是負,機器總是做加法,減法運算可變為加法運算。但根據補碼定義,求負數的補碼要從2減去|x|。為了用加法代替減法,結果還得在求補碼時作一次減法,這顯然是不方便的。下面介紹的反碼表示法可以解決負數的求補問題。
  
  對定點整數,補碼表示的定義是
  
  ? (2.10)

?3.反碼表示法
  
  所謂反碼,就是二進制的各位數碼0變為1,1變為0。也就是說,若i=1,則反碼為i=0;若i=0,則反碼i=1。數值上面的一橫表示反碼的意思。在計算機中用觸發器寄存數碼,若觸發器Q端輸出表示原碼,則其Q端輸出就是反碼。由此可知,反碼是容易得到的。
  
  對定點小數,反碼表示的定義為
  
??? ? (2.11)
  
  其中n代表數的位數。
  
  在一些文獻中,這種以2為基數的反碼又稱為1的補碼。
  
  一般情況下,對于正數 =+0.12…xn, 則
  
  []=0.12…xn
  
  對于負數=-0.12…xn ,則有
  
  []=1.12…xn
  
  對于0,有[+0]和[-0]之分:
  
  [+0]=0.00...0
  
  [-0]=1.11...1

  
  我們比較反碼與補碼的公式
  
  []=(2-2-n)+
  
  []=2+
  
  可得到
  
  ? (2.12)
  
  這就是通過反碼求補碼的重要公式。這個公式告訴我們,若要一個負數變補碼,其方法是符號位置1,其余各位0變1,1變0,然后在最末位(2-n)上加1。
  
  對定點整數,反碼表示的定義為
  
  ? (2.13)

?4.移碼表示法
  
  移碼通常用于表示浮點數的階碼。由于階碼是個n位的整數,假定定點整數移碼形式為012…xn時,對定點整數,移碼的傳統定義是真值加上一個固定常數2n
  
??? ? (2.14)
  
  若階碼數值部分為7位,以表示真值,則
  
  []=27+= 128 +??    128 >≥-128
  
  例如,當正數=+1010101 時,[]=1,1010101 ;
  
  當負數=-10101 01時,[]=27=27-1010101=10000000 - 1010101 = 0,0101011。
  
  移碼中的逗號不是小數點,而是表示左邊一位是符號位。顯然,移碼中符號位0表示的規律與原碼、補碼、反碼相反。
  
  小結:上面的數據四種機器表示法中,移碼表示法主要用于表示浮點數的階碼。由于補碼表示對加減法運算十分方便,因此目前機器中廣泛采用補碼表示法。在這類機器中,數用補碼表示,補碼存儲,補碼運算。也有些機器,數用原碼進行存儲和傳送,運算時改用補碼。還有些機器在做加減法時用補碼運算,在做乘除法時用原碼運算。
  
  [例3]以定點整數為例,用數軸形式說明原碼、反碼、補碼表示范圍和可能的數碼組合情況。
  
  [解:]
  
  原碼、反碼、補碼表示分別示于下圖。與原碼、反碼不同,在補碼表示中“0”只有一種形式,且用補碼表示負數時范圍可到-2n
    

  [例4]將十進制真值(-127,-1,0,+1,+127)列表表示成二進制數及原碼、反碼、補碼、移碼值。
  
  [解:]
  
  二進制真值及其諸碼值列于下表,其中0在[][]中有兩種表示。由表中數據可知,補碼值與移碼值差別僅在于符號位不同。
  

[例5]設機器字長16位,定點表示,尾數15位,數符1位,問:
  
  (1)定點原碼整數表示時,最大正數是多少?最小負數是多少?
  
  (2)定點原碼小數表示時,最大正數是多少?最小負數是多少?
  
  [解:]

  

  [例6]假設由S,E,M三個域組成的一個32位二進制字所表示的非零規格化浮點數,真值表示為:
  
  x=(-1)s×(1.M)×2E-128
  
  問:它所表示的規格化的最大正數、最小正數、最大負數、最小負數是多少?
  
  [解:]

非常好我支持^.^

(104) 99%

不好我反對

(1) 1%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 三级网站免费看 | 日韩欧美一区二区三区不卡视频 | 妖精视频亚洲 | 日本高清色视频www 日本高清色视频在线观看免费 | 色网站欧美 | 成人欧美另类人妖 | 熊出没之环球大冒险旧版免费观看 | 思思久久好好热精品国产 | 777kkk亚洲综合欧美色老头 | 么公的好大好硬好深好爽视频 | 四虎日韩| 国产精品伦子一区二区三区 | 久久久久久国产精品免费免费 | 黄色免费三级 | 手机看片国产在线 | 免费一级欧美在线观看视频片 | 美女扒开下面让男人捅 | 成人午夜在线观看国产 | 毛片污 | 天堂视频免费 | 97av免费视频 | 天天干天天拍天天射天天添天天爱 | 可以免费看黄的网址 | 黄色片链接 | 欧美性黑人极品hd网站 | 国产午夜小视频 | 黑色丝袜美美女被躁视频 | 黄色成人免费观看 | 亚洲成a人片在线观看www | 手机看片午夜 | 午夜色片| 在线看欧美成人中文字幕视频 | 国产美女精品久久久久中文 | 天天躁夜夜躁狠狠躁2021西西 | 精品欧美一区二区三区 | 教官的好爽好深h片段 | 色婷婷久久免费网站 | 在线亚洲小视频 | 亚洲精品91大神在线观看 | 日韩欧美色 | 又大又粗又爽黄毛片 |