C#中的&和|还有<<、>>是什么

 我来答
向日葵一样暖
推荐于2019-09-10 · TA获得超过7206个赞
知道答主
回答量:12
采纳率:0%
帮助的人:5735
展开全部

C#中的&和|是逻辑运算符,<<、>>是双目运算符。

&表示并且,需要所有条件都满足结果才是真;|表示或者,只要一个条件满足,结果就为真;<<是左移操作符,相当于除以2;>>是右移操作符,相当于乘以2。

扩展资料:

1、&(且)是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。

2、| (或)的规则:

true||true=true

true||false=true

false||true=true

false||false=false

例如:

if (x > 5.0 || x < -5 /*x 大于5或x小于-5*/

{ y = 25.0 ;}

else {y = 5.0 * x;};

其实1和11可以互换,原因是C/C++会自动将int类型与bool类型互相转换,true转为1,false转为0。

3、<<(左移运算符

该运算符为双目运算符,作用是把一个整型数所有位向左移动指定位数,移动到左边界外的多余二进制位丢弃,从右边界移入0。左移运算两个操作数为整数类型。第一个操作数是进行移位操作的数,第二个操作数指定第一个操作数移动位数。如果第二个操作数等于0则不发生任何移位。

4、>>(右移运算符)

在许多计算机编程语言(例如:C语言、C++语言、Java语言、JavaScript语言、Pascal语言等)中,“>>”代表右移运算符,就相当于“shr”。该运算符为双目运算符,结合方向为从左到右,作用是把一个整型数的所有位向右移动指定的位数,移动到右边界之外的多余二进制位会被丢弃,并从左边界移入一个二进制位,若原数的最高位为1,则移入的二进制位为1,否则为0。

右移运算的两个操作数应为整数类型。第一个操作数是要进行移位操作的数,第二个操作数指定第一个操作数移动的位数。如果第二个操作数等于0则不发生任何移位。

参考资料:

百度百科--&

百度百科--|

百度百科--<<

百度百科-->>

vwenye
推荐于2017-11-28 · TA获得超过4984个赞
知道大有可为答主
回答量:1510
采纳率:0%
帮助的人:814万
展开全部
& 是做逻辑与运算
比如 1 & 1 = 1
2 & 1 = 0 (10 & 01 = 00)
|是坐逻辑或运算
1|1 = 1
2 | 1 = 3 (10 | 01 = 11)

>> 是右移位运算 相等于除以2
<< 是左移位,相等于乘以2
追问
那它们都是怎么运算的呢?
追答
都是给整数的运算
&和|
都是把左右两边变成二进制,然后逐位进行运算
>>和> 就是10001 右移位 变成 01000 就变成8了
17<< 就是10001 左移位 变成100010 变成34 了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samirliang
2011-06-01 · TA获得超过186个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:97.3万
展开全部
&& 是并且
|| 是或者
>> 是右移位运算 相等于除以2
<< 是左移位,相等于乘以2
追问
那它们都是怎么运算的呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
595806165
2011-06-01 · TA获得超过129个赞
知道答主
回答量:67
采纳率:0%
帮助的人:29.2万
展开全部
$是与符号,|是或符号,<<,>>是移位操作!
追问
那它们都是怎么运算的呢?
追答
如果你想深入学习你可以上网搜一些C#教材,强烈向你推荐《C#揭秘》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式