程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 深入理解計算機系統第二版習題解答CSAPP 2.13,csapp2.13

深入理解計算機系統第二版習題解答CSAPP 2.13,csapp2.13

編輯:關於C語言

深入理解計算機系統第二版習題解答CSAPP 2.13,csapp2.13


從20世紀70年代末到80年代末,Digital Equipment的VAX計算機是一種非常流行的機型。它沒有布爾運算AND和OR指令,只有bis(位設置)和bic(位清除)這兩種指令。兩種指令的輸入都是一個數據字x和一個掩碼字m。它們生成一個結果z,z是由根據掩碼m的位來修改x的位得到的。使用bis指令,這種修改就是在m為1的每個位置上,將z對應的位設置為1。使用bic指令,這種修改就是在m為1的每個位置,將z對應的位設置為0。

只使用這兩個函數實現C語言的按位|和^運算。

 1 int bis(int x, int m);
 2 int bic(int x, int m);
 3 
 4 int bool_or(int x, int y)
 5 {
 6     int result = bis(x, y);
 7     return result;
 8 }
 9 
10 int bool_xor(int x, int y)
11 {
12     int result = bis(bic(x, y), bic(y, x));
13     return result;
14 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved