按位運算:符號|按位or運算;符號&按位and運算;符號~表示按位not運算;符號^按位xor運算。
實現掩碼操作:通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行「置1」 「清0」等。
邏輯運算:符號||按位or運算;符號&&表示and運算;符號!表示not運算。
移位運算
邏輯移位:不考慮符號位,把高(低)位移出,低(高)補0.
算術移位:機器碼採用有符號數,符號位不參與移位。
原碼左移、右移都補0,原碼算術移位:左移丟1,運算出錯,右移丟1,影響精度。
正數中,原碼,補碼,反碼左右移都補0,負數中,原碼左右移補0,補碼左移補0、右移補1,反碼左右移補1。
位擴充套件和位截斷運算
0擴充套件:用於無符號數,在短的無符號數前新增足夠的0。
符號擴充套件:用於補碼表示的帶符號整數,在短的帶符號整數前新增足夠多的符號位
1.將一塊小石頭扔進平靜的水中,泛起的波紋會向外一圈一圈逐步擴散,序列進製加法器中最低進製co 就像一塊小石頭,它把進製逐步從低位擴充套件到最高位,所以稱這種序列進製加法器為行波進製加法器(carry ripple adder ,cra)最後一位和數 fn 的延遲時間為 2n+1 級門延遲【2(n-1)+ 3】,加法運算時間隨兩個加數字數 n 的增加而增加。當 n 較大時,序列進製的加法器速度將顯著變慢。
2.並行進製加法器
實現上述邏輯表示式的電路稱為先行進製(也稱超前進製)部件(carry lookahead unit),簡稱cla 部件,通過這種進製方式實現的加法器稱為全先行進製加法器
3.帶標誌加法器
n 位無符號數加法器只能用於兩個n位二進位制數相加,不能進行無符號數的減運算,也不能進行帶符號數的加/減運算。如果要實現這種功能的話,還需要在無符號數加法器的基礎上增加相應的邏輯閘電路,使得加法器不僅能計算和/差,還要能夠生成相應的標誌資訊。
定點數的運算
(只要涉及到加減運算一定是補碼)
補碼加法運算:
負數用補碼表示後,可以和正數一樣來處理,即當需要減去乙個數x時,可以加上x對應的負數的補碼[-x]補來代替
補碼的加法公式:
小數:[x]補 + [y]補 = [x + y]補 (注:需要將mod 2 丟掉)
整數:[x]補 + [y]補 = [x + y]補 (注:需要將mod 2^(n+1) 丟掉)
注:符號位和數值位統一進行加法處理
補碼減法運算公式
小數:[x]補 + [-y]補 = [x - y]補 (注:需要將mod 2 丟掉)
整數:[x]補 + [-y]補 = [x - y]補 (注:需要將mod 2^(n+1) 丟掉)
補碼運算的基本規則:
1.運算的各個運算元均是補碼表示,運算結果仍是補碼
2.符號位與數值位一樣參加 運算
3.若求和,則將兩補碼數直接相加,得到兩數之和的補碼;若求差,則將減數變成補碼(由[y]補求[-y]補),然後與被減數相加,得到兩數之差的補碼
4.補碼是對於確定的模而言,若運算結果超過模(有從符號位上產生的進製),則將模自動丟掉。
定點數的乘法:
1.乘積的符號位進行異或(相同得0即為正,不同得1即為負),確定數值的符號位
2.數值部分按絕對值相乘
定點數的除法:
1.符號位進行異或(相同得0即為正,不同得1即為負),確定數值的符號位
2.數值部分按絕對值相除。
1.浮點數加減運算
對階、尾數運算、規格化、捨入處理、溢位判斷
2.浮點數乘除運算
先進行判0處理,規格化操作和溢位判斷
1.乘法運算:尾數相乘,指數相加;尾數規格化;尾數捨入處理;溢位判斷浮點數除法運算。
2.除法運算:尾數相除,階相減;尾數規格化;尾數捨入處理;溢位判斷。
第三章預習
幾種c中涉及的運算 1.按位運算 c語言中按位運算有 符號 表示按位or運算 符號 表示按位and運算 符號 表示按位not運算 符號 表示按位xor運算。2.邏輯運算 幾種常見的運算。和並或 邏輯true false 3.移位運算 邏輯移位 不考慮符號位,總是把高 低 位移出,低 高 位補0。對於...
預習第三章
1按位運算 實現掩碼操作 1 按位運算子 符號 按位or運算 符號 按位and運算 符號 按位not 符號 按位xor運算。2 掩碼 通過給定的乙個位模式進行按位與,可以提取所需的位,然後可以對這些位進行 置1 清0 1測試 或 0測試 等,這裡的位模式被稱為掩碼。2 邏輯運算 1 邏輯運算子 符號...
第三章預習
1 按位運算 符號 按位or運算 符號 按位and運算 符號 表示按位not運算 符號 按位xor運算。實現掩碼操作 通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行 置1 清0 等。2 邏輯運算 符號 按位or運算 符號 表示and運算 符號!表示not運算。3 移位運算 邏輯移...