本次实验是通过限制的操作符来实现位运算,有助于进一步理解数据位级的表示和运算。
10个小函数的具体实现如下:
/*
* bitAnd - x&y using only ~ and |
* Example: bitAnd(6, 5) = 4
* Legal ops: ~ |
* Max ops: 8
* Rating: 1
*/
int bitAnd(int x, int y) {
return ~(~x | ~y); //由命题逻辑得:~(~x | ~y) = x & y
}
/*
* bitOr - x|y using only ~ and &
* Example: bitOr(6, 5) = 7
* Legal ops: ~ &
* Max ops: 8
* Rating: 1
*/
int bitOr(int x, int y) {
return ~(~x & ~y); //由命题逻辑得:~(~x & ~y) = x | y
}
/*

最低0.47元/天 解锁文章
691

被折叠的 条评论
为什么被折叠?



