概述
Talk is cheap, show me the code.
/*
***VAX计算机没有布尔运算AND和OR指令
***只有bis(位设置)和bic(位清除)这两种指令
***参数为 数据字x
掩码字m
***bis 将m为1的位置,将z对应的位设为1
***bic 将m为1的位置,将z对应的位设为0
*/
#include <stdio.h>
/************************************
*功能* 模拟bis指令
*参数* 数据字x
掩码字m
************************************/
int bis(int x, int m){
return x|m;
}
/************************************
*功能* 模拟bic指令
*参数* 数据字x
掩码字m
************************************/
int bic(int x, int m){
return x&(~m);
}
/************************************
*功能* 用bis和bic函数模拟或运算
*参数* 数据x
数据y
************************************/
int bool_or(int x, int y){
int result = bis(x, y);
return result;
}
/************************************
*功能* 用bis和bic函数模拟和运算
*参数* 数据字x
数据y
************************************/
int bool_and(int x, int y){
int result = bic(x, ~y);
return result;
}
/************************************
*功能* 用bis和bic函数模拟异或运算
*参数* 数据字x
数据y
************************************/
int bool_xor(int x, int y){
int result = bis(bic(x, y), bic(y, x));
return result;
}
int main(int argc, char const *argv[])
{
int x;
int y;
int result;
printf("Please input:n");
scanf("%d",&x);
scanf("%d",&y);
result = bool_xor(x, y);
printf("%dn", result); //由函数生成的值
printf("%dn", x^y); //由编译器生成的值
return 0;
}
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。
文章地址:http://blog.csdn.net/itkaikai/article/details/38173101
最后
以上就是鲤鱼冬日为你收集整理的深入理解计算机系统-课后习题-2.13-bis和bic命令实现或和异或运算的全部内容,希望文章能够帮你解决深入理解计算机系统-课后习题-2.13-bis和bic命令实现或和异或运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复