| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:求符号心算心得,高手请进………………
只看楼主 加入收藏
a632034079
Rank: 2
等 级:论坛游民
帖 子:115
专家分:34
注 册:2009-10-3
结帖率:86.11%
收藏
已结贴  问题点数:20 回复次数:8 
求符号心算心得,高手请进………………
int x=2,y=3,z=4;

x=(y&z);
x=(y&&z);
x=(y|z);
x=(y||z);

这类题目假如要你心算,请问大侠们有什么技巧能快速得出答案,谢谢了!!!

[ 本帖最后由 a632034079 于 2010-7-18 13:51 编辑 ]
搜索更多相关主题的帖子: 符号 心得 心算 
2010-07-18 13:44
a632034079
Rank: 2
等 级:论坛游民
帖 子:115
专家分:34
注 册:2009-10-3
收藏
得分:0 
没人愿意教我吗
2010-07-18 13:52
a632034079
Rank: 2
等 级:论坛游民
帖 子:115
专家分:34
注 册:2009-10-3
收藏
得分:0 
...............
2010-07-18 19:34
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:3 
没有技巧,除非脑袋是二进制的。。。。。。。。。。
2010-07-18 22:55
gq198718
Rank: 4
等 级:业余侠客
威 望:1
帖 子:86
专家分:200
注 册:2010-6-6
收藏
得分:3 
我也想知道哦,帮楼主顶起
2010-07-19 13:06
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:3 
x=(y&&z);
x=(y||z);
这两个是逻辑运算,不用心算吧,一瞅就出来了

x=(y&z);
x=(y|z);
按位与(或)这种运算,培养对2的指数值的敏感度,
没有什么简便方法吧,哈哈

授人以鱼不如授人以渔
2010-07-20 17:25
ccmike98
Rank: 2
来 自:苏州
等 级:论坛游民
帖 子:76
专家分:56
注 册:2010-7-13
收藏
得分:3 
还是写出来算吧  
一定要心算干嘛啊
易错啊
2010-07-20 18:32
菜才
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-7-20
收藏
得分:3 
先算个几百题,以后一看就知道结果了。
2010-07-20 18:35
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
你如果是为做题,没有心算的必要吧~毕竟是为了拿分,笔算更靠谱,拿得稳,干什么不用?

在实际应用中,不会出现类似什么 “432423 & 342324” 得几这种问题的。
只有当问题本身就是按位定义的情况才会使用位运算。比如,文件的读写标识也许可以这样定义,以用一个数表示:
它的每个二进制位分别用与表示 binary read write append truncate 这些属性。
那么一个可读可写的文件就可以表示成 0 1 1 0 0。(如果看成十进制是 12,反而比较费解。)
一个写追加的文件就是 0 0 1 1 0。(这个是 6,十进制也不直观)
定义能看明白了吧?

现在有个问题,已经有一个文件了,希望它变成可写的,而不改变其它状态。那么应该如何做?
直观的想法就是把第三位变成 1,其它不动就行了。怎么做这件事?
? ? ? ? ? | 0 0 1 0 0 = ? ? 1 ? ? 就可以。
写成 c 语言,如果 flags 是记录属性位的,那么 flags = flags | 0x4 (或者直接 flags |= 0x4)就可以了。
想去掉可写怎么办?看这个:
? ? ? ? ? & 1 1 0 1 1 = ? ? 0 ? ?
神奇吧,而且 1 1 0 1 1 = ~ 0 0 1 0 0。

想知道一个文件是否可写,用
? ? ? ? ? & 0 0 1 0 0 是否非零就可以验证。
类似还可以做很多事,都比用十进制方便。


一种很常见的编程技巧是用宏:
#define WRIITE 0x0004

那么就可以用 flags |= WRITE 或者 flags &= ~WRITE 这样的写法了。
不仅可读性高,而且不容易写错。将来想增加新位,或改旧的,只用在宏上下手。

位运算不是你想的那么用的。虽然书上讲定义的时候,要用数学那种抽象的讲法来搞。但用的时候,人们只是利用它的直观性。
2010-07-21 01:55
快速回复:求符号心算心得,高手请进………………
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020292 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved