我是靠谱客的博主 鲤鱼冬日,最近开发中收集的这篇文章主要介绍深入理解计算机系统-课后习题-2.13-bis和bic命令实现或和异或运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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命令实现或和异或运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部