用位运算实现 | 与 ^ 的功能

已知有 bis 和 bic 两种指令, 两种指令的输入都是一个数据字 x 与一个掩码字 m, 他们生成一个结果 z, z 是根据掩码 m 的位来修改 x 的位得到的.

bis 指令: 在 m 为 1 的每个位置上, 将 z 对应的位设置为 1,

bic 指令: 在 m 为 1 的每个位置上, 将 z 对应的位设置为 1 .

//Declarations of funcionts implementing operations bis and bic
int bis(int x, int m);
int bic(int x, int m);

//Compute x|y using only calls to function bis and bic
int bool_or(int x, int y)
{
    int result = bis(x, y)
    //or int result = bis(y, x);
    return result;
}

//Compute x^y using calls to function bis and bic
int bool_xor(int x, int y)
{
    int result = bic(bis(x, y), y);
    return result;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值