移碼
移碼(又叫增碼)是符號位取反的補碼,
一般用做浮點數的階碼,引入的目的是為了保證浮點數的
機器零為全0。
用補碼表示階碼的時候,當階碼無限小,產生了下溢的時候,階碼變成了0,那麼這個浮點數的值變為了1。
而實際上這個數是無限接近於零的。那麼我們就需要取出其中的
"-0「
值作為機器零,於是移碼產生了。
①移碼的定義:設由1位符號位和n位數值位組成的階碼,則 [x]移=2en + x -2n≤x ≤ 2n 例如
: x=+1011 [x]移=11011
②移碼與補碼的關係
: [x]
移與[x]
補的關係是符號位互為相反數(僅符號位不同),
例如: x=+1011 [x]補=01011 [x]移=11011
x=-1011 [x]補=10101 [x]移=00101
(1)原碼表示法
原碼表示法是機器數的一種簡單的表示法。其符號位用
0表示正號,用:表示負號,數值一般用二進位制形式表示。設有一數為
x,則原碼表示可記作[x]
原。例如,x1
= +1010110 x
2= 一1001010
其原碼記作:
[x1]
原=[+1010110]
原=01010110 [
x2]原
=[-1001010]
原=11001010
原碼表示數的範圍與二進位制位數有關。當用
8位二進位制來表示小數原碼時,其表示範圍:
最大值為
0.1111111
,其真值約為(
0.99)10
最小值為
1.1111111
,其真值約為(一
0.99)10
當用8位二進位制來表示整數原碼時,其表示範圍:
最大值為
01111111
,其真值為(
127)10
最小值為
11111111
,其真值為(-
127)10
在原碼表示法中,對
0有兩種表示形式: [
+0]原=00000000 [
-0]原=10000000
(2)補碼表示法
機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣
;**自
:圖碼網
)如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加
1而得到的。設有一數x,則
x的補碼表示記作[x]
補。 例如
,[x1]=
+1010110 [x
2]=
一1001010 [x
1]原=01010110 [x
1]補=01010110 即
[x1]原
=[x1]補
=01010110 [x
2]原= 11001010 [x
2]補=10110101+1
=10110110
補碼表示數的範圍與二進位制位數有關。當採用
8位二進位制表示時,小數補碼的表示範圍:
最大為0.1111111
,其真值為(
0.99)10
最小為1.0000000
,其真值為(一1)
10 採用8
位二進位制表示時,整數補碼的表示範圍:
最大為01111111
,其真值為(
127)10
最小為10000000
,其真值為(一
128)10
在補碼表示法中,
0只有一種表示形式: [
+0]補=00000000 [
+0]補=11111111
+1=00000000
(由於受裝置字長的限制,最後的進製丟失)
所以有[+
0]補=[+
0]補=00000000
(3)反碼表示法
機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數x,則
x的反碼表示記作[x]
反。例如:x1
= +1010110 x
2= 一1001010 [
x1]原
=01010110 [x
1]反=
[x1]
原=01010110 [x
2]原=11001010 [x
2]反=10110101
反碼通常作為求補過程的中間形式,即在乙個負數的反碼的未位上加
1,就得到了該負數的補碼。 例
1. 已知
[x]原
=10011010
,求[x]補。
分析如下:
由[x]原求
[x]補
的原則是:若機器數為正數,則
[x]原
=[x]
補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加
1而得到。現給定的機器數為負數,故有
[x]補
=[x]原十
1,即[x]
原=10011010
[x]反=11100101 十)
1
[x]補
=11100110
例2. 已知
[x]補
=11100110
,求[x]原
。 分析如下:
對於機器數為正數,則[x]
原=[x
]補對於機器數為負數,則有[x]
原=[[x
]補]補
現給定的為負數,故有:
[x]補
=11100110 [[
x]補]
反=10011001 十)
1
[[x]補
]補=10011010=[x
]原
軟體設計師學習1 計算機系統知識
1.計算機的基本硬體系統由運算器 控制器 儲存器 輸入裝置和輸出裝置五大部件組成。運算器 控制器等部件被整合在一起統稱為 處理單元。2.cpu的功能 程式控制,操作控制,時間控制,資料處理。3.cpu的組成 運算器,控制器,暫存器組和內部匯流排等部件。運算器 運算器由算數邏輯單元 累加暫存器 資料緩...
軟體設計師教程 計算機系統基礎知識
1.程式控制 cpu通過執行指令來控制程式的執行順序 2.操作控制 一條指令要不同對應部件響應的操作訊號來完成 操作訊號由cpu發出 3.時間控制 操作訊號的出現時間 持續時間以及時間順序都要嚴格控制 4.資料處理 資料的加工處理也是cpu最根本任務 cpu主要由運算器 控制器 暫存器組 內部匯流排...
軟考 軟體設計師2 計算機結構
一 計算機結構 運算器 控制器 儲存器 輸入裝置 輸出裝置 運算器 1,算術邏輯單元alu 資料的算術運算和邏輯運算 2,累加暫存器ac 通用暫存器,為alu提供乙個工作區,用在暫存資料 3,資料緩衝暫存器dr 寫記憶體時,暫存指令或資料 4,狀態條件暫存器psw 存狀態標誌和控制標誌 也有歸為控制...