打印

取反的问题!

[复制链接]
1660|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sankyo_feng|  楼主 | 2010-7-7 17:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序中wenjinchuansong03=36或wenjinchuansong03=20,如果用~ if判定总是为真,如果用就可以正确的判定出来这是为什么?

if(~((wenjinchuansong03>=30)&(wenjinchuansong03<=50)))
   {
       if(xianshizhuanhuan)
            PutStr(31,0x44,str24);//空白               //
        else
            PutStr(31,0x44,str04);//LUX NG
    }
else
     PutStr(31,0x44,str07);//LUX OK

相关帖子

沙发
NE5532| | 2010-7-7 19:28 | 只看该作者
~是对HEX数据区反,!是逻辑非。

使用特权

评论回复
板凳
zc3909| | 2010-7-7 22:36 | 只看该作者
一个是运算符,一个是判断符

使用特权

评论回复
地板
sankyo_feng|  楼主 | 2010-7-8 07:54 | 只看该作者
本帖最后由 sankyo_feng 于 2010-7-8 07:56 编辑

可是~是位运算符的取反啊!像wenjinchuansong03>=30所得到的结果要么是1要么是0吗?你们也遇到过这样的情况?

使用特权

评论回复
5
lbx_00| | 2010-7-8 09:12 | 只看该作者
"~"是逻辑运算符,功能是按二进制位取反;

"!"是关系运算符,只是是否非零的问题。

仔细看看c语言的说明吧

使用特权

评论回复
6
lbx_00| | 2010-7-8 09:12 | 只看该作者
"~"是逻辑运算符,功能是按二进制位取反;

"!"是关系运算符,只是是否非零的问题。

仔细看看c语言的说明吧

使用特权

评论回复
7
isoar| | 2010-7-8 12:05 | 只看该作者
楼主的c语言还得巩固啊

使用特权

评论回复
8
sankyo_feng|  楼主 | 2010-7-8 16:46 | 只看该作者
若wenjinchuansong03=20
(~(wenjinchuansong03>=30))会等于什么?
若wenjinchuansong03=36
(~(wenjinchuansong03>=30))又会等于什么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

203

帖子

1

粉丝