真值和機器數及機器數的相互轉換關系


一:真值和機器數定義

1.真值

真值是指在數值前面用“+”號表示正數,用“-”號表示負數的帶符號二進制數。

2.機器數

機器數(又稱為機器碼)是指在數字系統中用“0”表示符號“+”,用“1”表示符號“-”,即把符號“數值化”后的帶符號二進制數。常用的機器數有原碼、反碼和補碼。

二、3種常用機器數

1.原碼

求取方法:符號位用0表示正,用1表示負;數值位不變,即與真值的數值位相同。
例如,若x=0.1011、y=–10110,則
[x]原碼=0.1011(由於x為正數,所以符號位為0,數值位與真值相同)
[y]原碼=110110(由於y為負數,所以符號位為1,數值位與真值相同)
特點:求取方便,運算不方便,“0”有“+0”和“-0”兩種不同形式。

2.反碼

求取方法:符號位用0表示正,用1表示負。數值位與符號位相關,當為正數時,數值位不變,即與真值的數值位相同;當為負數時,數值位是真值的數值位按位取反(0變為1,1變為0)。
例如,若x=-0.1010、y=+10101,則
[x]反碼=1. 0101(由於x為負數,所以符號位為1,數值位為真值的數值位按位變反)
[y]原碼=010101(由於y為正數,所以有符號位為0,數值位與真值相同)
特點:求取較方便,運算較方便(可以將減法運算轉化為加法運算),“0”有“+0”和“-0”兩種不同形式。

3.補碼

求取方法:符號位用0表示正,用1表示負。數值位與符號位相關,當為正數時,數值位不變,即與真值的數值位相同;當為負數時,數值位是真值的數值位按位取反,並在末位加1。
例如,若x=-11010、y=+0.1010,則
[x]補碼=100110(由於x為負數,所以符號位為1,數值位為真值的數值位按位變反,末位加1)
[y]補碼=0.1010(由於y為正數,所以有符號位為0,數值位與真值相同)
特點:運算方便(可以將減法運算轉化為加法運算),“0”只有“+0”一種形式。

三:機器碼求法對比

在這里插入圖片描述

四、真值、原碼、反碼、補碼的相互轉換

帶符號二進制數的真值、原碼、反碼和補碼之間的相互轉換如圖1所示。
在這里插入圖片描述
圖1 真值、原碼、反碼和補碼之間的相互轉換
最后讓我們來做一個練習
題目
在這里插入圖片描述
答案
在這里插入圖片描述
see you!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM