免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10022 | 回复: 13

如何用bis,bic(位清除,位设置)实现或,异或 [复制链接]

论坛徽章:
0
发表于 2010-12-05 20:36 |显示全部楼层
现在有两个函数bis,bic。bis的功能是位设置,bic的功能是位清除。申明为:
int bis(int x ,int m)
int bic(int x ,int m)
参数m为掩码,对于bis,就是在m为1的每个位置,修改x的对应位为1,并返回修改后的值。同理,对bic,修改x的对应位为0后返回。

问题是:
如何在C语言中只使用bis,bic来实现|和^运算,而不使用任何其他c语言运算,下面的?处该怎么填。

谢谢

  1. int boor_or(int x,int y)
  2. {
  3.     int result = ?;
  4.     return result;
  5. }

  6. int boor_xor(int x ,int y)
  7. {
  8.   int result = ?;
  9.   return result;
  10. }

复制代码

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2010-12-05 21:47 |显示全部楼层
本帖最后由 rubylc_unix 于 2010-12-05 22:22 编辑

回复 1# lpzgbd

  1. [code]int bis(int x ,int m)
  2. int bic(int x ,int m)


  3. int boor_or(int x,int y)
  4. {
  5.      int result = ?;
  6.      return result;
  7. }


  8. int boor_xor(int x ,int y)
  9. {
  10.   int result = ?;
  11.    return result;
  12. }
复制代码
你看看这样行不?
boor_or实现
result = bis( bis(0, x), y);[/code]

论坛徽章:
0
发表于 2010-12-05 22:19 |显示全部楼层
回复 2# rubylc_unix


    只要不引入其他任何运算就行了。
你这个相当于是bis(x,y)

那bool_xor如何实现呢。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2010-12-05 22:21 |显示全部楼层
回复 3# lpzgbd


    呵呵,这个我暂时还没有想到。{:3_189:} ,坐等高手解决阿

论坛徽章:
0
发表于 2010-12-06 00:34 |显示全部楼层
允许
bool_not写成bic(0x很多f, x)不
可以的话就可以
x and y = not(not(x) or not(y))
x xor y = (x and not(y)) or (not(x) and y)

论坛徽章:
0
发表于 2010-12-06 00:36 |显示全部楼层
bis(bic(x, y), bic(y, x))

论坛徽章:
0
发表于 2010-12-06 00:46 |显示全部楼层
or + not = everything

论坛徽章:
0
发表于 2010-12-06 00:49 |显示全部楼层
or + not = everything
jerryz920 发表于 2010-12-06 00:46


但是not挺麻烦的,还是你楼上的简单,bic其实就是x and not(y)
先去凑not结果反而更复杂了……

论坛徽章:
0
发表于 2010-12-06 00:56 |显示全部楼层
回复 8# Etrnls


    是的,构造方法很多的~

    已经过了学数理逻辑时那疯狂的年代了,看着还挺怀念的~

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2010-12-06 08:36 |显示全部楼层
bis(bic(x, y), bic(y, x))
pagx 发表于 2010-12-06 00:36



    NICE!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP