首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 位的操作的问题,有点简单
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-14 22:15:56 楼主
    我在看书的时候看到的
    int myColor=0;
    bool containsRed;
    myColor = myColor ¦ 2; //add green bit,myColor now stores 010
    myColor = myColor ¦ 4; //add red bit,myColor now stroes 110
    containsRed = (myColor & 4) == 4 //Check value of red bit
    书上说这种技术特别适合于同时检查多个位的值
    有没有知道是什么算法?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinjazz
    • 等级:
    发表于:2008-05-14 22:18:301楼 得分:0
    位算法,对于电脑来说最方便的算法。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 00:23:052楼 得分:0
    containsRed = (myColor & 4) == 4;觉得有点问题, & 4和== 4都是在判断,110中的第一个1。所以我觉得应该是containsRed = (myColor & 4) == 2
    或者containsRed = (myColor & 2) == 4
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 00:29:213楼 得分:0
    不好意思我搞错了是containsRed = (myColor 异或 4) == 2
    或者containsRed = (myColor 异或 2) == 4
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 22:00:474楼 得分:0
    为什么用位运算可以检测myColor为4呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 15:41:285楼 得分:0
    这个在计算机原理里面讲了很多的,
    主要是“ ¦”操作,和“&”操作,
    比如有两个数
    A= 11110000
    B= 00001111

    A ¦B = 11111111
    A&B = 00000000


    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved