日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算机组成原理】定点数的表示和运算

發布時間:2023/12/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算机组成原理】定点数的表示和运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 定點數表示
    • 定點數的運算

定點數表示

  • 無符號數和有符號數
    無符號數和有符號數都是機器數
    1)無符號數
    指整個機器字長的全部二進制位均為數值位,沒有符號位,相當于數的絕對值。
    若機器字長為8位,則數的表示范圍為0~28-1,即0 ~255
    2)有符號數
    在機器中,數的“正”,“負”號是無法識別的,有符號數用“0”表示“正”號,用“1”表示“負"號,從而將符號也數值化,并通常約定二進制數的最高位為符號位,即將符號位放在有效數字的前面,組成有符號數。
    有符號數的機器表示有原碼、補碼、反碼和移碼。
    為了能正確區別真值和各種機器數,約定用X表示真值
  • [X] 表示原碼
    [X] 表示補碼
    [X] 表示反碼
    [X] 表示移碼

  • 機器數的定點表示
    根據小數點的位置是否固定,在計算機中有兩種數據格式:
    定點表示浮點表示
    定點表示即約定機器數中的小數點位置是固定不變的,小數點不再使用“.”表示,而是約定它的位置。理論上,小數點位置固定在哪位都可以,但在計算機中通常采用兩種簡單的約定:
    將小數點的位置固定在數據的最高位之前,或固定在最低位之后。一般常稱前者為定點小數,后者為定點整數。
  • 1)定點小數
    定點小數是純小數,約定小數點位置在符號位之后、有效數值部分最高位之前。若數據X的形式為X = x0 . x1……xn,(其中x0為符號位,x1——xn是數值的有效部分,也稱尾數,x1為最高有效位),則在計算機中的表示形式如圖所示(設機器字長n+1位)。

    x0=0,x1——xn均為1時,x為其所能表示的最大正數,真值等于1 - 2-n.

    x0=1,x1——xn均為1時,X為其(原碼)所能表示的最小負數,真值等于2-n - 1

    2)定點整數

    定點整數是純整數,約定小數點位置在有效數值部分最低位之后。若數據X的形式為X = x0x1……xn
    (其中x0為符號位,x1——xn是尾數,xn為最低有效位),則在計算機中的表示形式如圖所示:

    x0 = 0, x1——xn均為1時,x為其所能表示的最大正數,真值等于2n-1

    x0 = 1, x1——xn均為1時, X為其(原碼)所能表示的最小負數,真值等于1 - 2n

  • 原碼,補碼、反碼、移碼
    1)原碼表示法
    原碼是一種比較簡單、直觀的機器數表示法,用機器數的最高位表示該數的符號,其余的各位表示數的絕對值。原碼的定義如下:
    • 純小數的原碼定義

      如果字長為n+1,則原碼小數的表示范圍為:2-n-1 ≤ x ≤ 1-2-n
    • 純整數原碼定義

      如果字長為n+1,則原碼小數的表示范圍為:1 - 2n ≤ x ≤ 2n - 1

    2)補碼表示法
    加減法采用統一的加法操作

    • 純小數的補碼定義

      如果字長為n+1,則原碼小數的表示范圍為:-1 ≤ x ≤ 1 - 2n
    • 純整數的補碼定義

      如果字長為n+1,則原碼小數的表示范圍為:- 2n ≤ x ≤ 2n - 1

    0的補碼、移碼唯一,原碼、反碼不唯一

    定點數的運算

  • 定點數移位運算
    移位運算根據操作對象的不同分為算術移位和邏輯移位。
    有符號數的移位稱為算術移位,邏輯移位的操作對象是邏輯代碼,可視為無符號數。
    1)算術移位
    算術移位的對象是有符號數,在移位過程中符號位保持不變。
    對于正數,移位后出現的空位均以0添之。
    對于負數,由于原碼、補碼、反碼的表示形式不同,因此當機器數移位時,對其空位的添補規則也不同。
    注意:不論是正數還是負數,移位后其符號位均不變,且移位后都相當于對真值補0,根據補碼、反碼的特性,所以在負數時填補代碼有區別。
    對于原碼,左移位若不產生溢出, 相當于乘以2(與十進制的左移一位相當于乘以10類似),右移一位, 若不考慮因移出而舍 去的末位尾數,相當于除以2。
  • 正數的原碼、補碼與反碼都相同,因此移位后出現的空位均以0添之。
    對于負數,由于原碼、補碼和反碼的表示形式不同,因此當機器數移位時,對其空位的添補規則也不同。

    ①負數的原碼數值部分與真值相同,因此在移位時只要使符號位不變,其空位均添0.
    ②負數的反碼各位除符號位外與負數的原碼正好相反,因此移位后所添的代碼應與原碼相反,即全部添1。

    ③分析由原碼得到補碼的過程發現,當對其由低位向高位找到第一一個“1”時,在此“1”左邊的各位均與對應的反碼相同,而在此“1”右邊的各位(包括此“1”在內)均與對應的原碼相同。因此負數的補碼左移時,因空位出現在低位,則添補的代碼與原碼相同,即添0;右移時因空位出現在高位,則添補的代碼應與反碼相同,即添1.

    (2)邏輯移位

    邏輯移位將操作數視為無符號數,移位規則:

    邏輯左移時,高位移丟,低位添0; 邏輯右移時,低位移丟,高位添0。

    注意:邏輯移位不管是左移還是右移, 都添0.

    總結

    以上是生活随笔為你收集整理的【计算机组成原理】定点数的表示和运算的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。