1 按位運算:符號|按位or運算;符號&按位and運算;符號~表示按位not運算;符號^按位xor運算。
實現掩碼操作:通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行「置1」 「清0」等。
2 邏輯運算:符號||按位or運算;符號&&表示and運算;符號!表示not運算。
3 移位運算
邏輯移位:不考慮符號位,把高(低)位移出,低(高)補0.
算術移位:機器碼採用有符號數,符號位不參與移位。
原碼左移、右移都補0,原碼算術移位:左移丟1,運算出錯,右移丟1,影響精度。
正數中,原碼,補碼,反碼左右移都補0,負數中,原碼左右移補0,補碼左移補0、右移補1,反碼左右移補1。
4 位擴充套件和位截斷運算
0擴充套件:用於無符號數,在短的無符號數前新增足夠的0。
符號擴充套件:用於補碼表示的帶符號整數,在短的帶符號整數前新增足夠多的符號位
序列進製加法器 並行進製加法器 帶標誌加法器 算術邏輯部件
(只要涉及到加減運算一定是補碼)
補碼加法運算:
負數用補碼表示後,可以和正數一樣來處理,即當需要減去乙個數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 邏輯運算子 符號...
第三章預習
3.運算方法和運算部件3.1.1c程式中設計的運算 1.按位運算 符號 表示按位or運算 符號 表示按位and運算 符號 表示按位not運算 符號 表示按位xor運算 2.邏輯運算 符號 表示or運算符號 表示and運算 符號!表示not運算 3.移位運算 移位操作有邏輯移位和算術移位兩種,邏輯移位...