c语言问题,表达式t=(a<<2)|b是什么意思?

如题所述

就是把a左移两位,然后和b做位与运算,最后把结果赋值给t
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
a << 2表示a向左位移2位
比如 a = 001100 (二进制数) 那么 a << 2 就是 110000
| 表示或运算,同样也是基于二进制数运算本回答被提问者采纳
第2个回答  2015-03-17
a的值向左位移2位后与b的值相或,结果赋给t追问

与b的值相或。。。是什么?

追答

或运算,一种逻辑算术运算,可以上网找相关的资料,我不想打那么多字解释了

追问

懂了,或运算是懂得,相或这种专业术语不懂😊

追答

-_-|| 这不是术语啊。。。1与1相加你应该知道吧,这个知道那x与y相或也是一样的道理啊

追问

额。。。

第3个回答  2015-03-17
a左移2位,在与b按位异或,结果赋给c追问

按位异或。。。是什么?

追答

把数字转成2进制,在按位异或
即对每一位,如果那两个数字的这一位有1,则新数的这一位是1
如果那两个数字的这一位没有1(即都是0),则新数的这一位是0

两个数字 5,4
(5)10=(101)2
(4)10=(100)2
101
100


101即5

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网