[c#]、、|、||的区别
创始人
2025-05-31 22:00:51
0

& 运算符既可作为一元运算符也可作为二元运算符。

一元 & 运算符返回操作数的地址:

为整型和 bool 类型预定义了二进制 & 运算符。 对于整型,& 计算操作数的逻辑按位“与”。 对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,结果才为 true。

1.& 运算符计算两个运算符,与第一个操作数的值无关。 例如:

            int i = 0;Console.WriteLine(false & ++i == 1);

结果是FALSE.

也可用于二元运算符:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace test23
{class Program{static void Main(string[] args){Console.WriteLine(true&true);Console.WriteLine(true&false);Console.WriteLine(false&false);Console.WriteLine("0x{0:x}",0xf8&0x3a);/** 0xf8:1111 1000* 0x3a:0011 1010* 0011 1000==0x38    14*/Console.ReadKey();}}
}

2. | 运算符是为整型和 bool 预定义的。 对于整型, | 计算操作数的按位“或”。 对于 bool 操作数, | 计算操作数的逻辑“或”;也就是说,当且仅当两个操作数均为 false 时,结果才为 false 。

3. &&

条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。

如果 x是 false, y 不会计算,因为,和操作的结果是 false ,无论 y 的值为什么。 这被称作为“短路”计算。

4. ||

条件或运算符 (||) 执行的逻辑或其 bool 操作数。 如果第一个操作数计算结果为 true,第二个操作数对象不会计算。 如果第一个操作数计算结果为false,第二个运算符确定或表达式整体是否计算结果为 true 或 false。

如果 x 是 true,y 不会计算无论 y,的值,因为或操作是 true。 此概念称为“短路计算”。

& 是做逻辑与运算

比如 1 & 1 = 1

2 & 1 = 0 将十进制数据转换成二进制数据进行比较 (10 & 01 = 00)

|是做逻辑或运算

1|1 = 1

2 | 1 = 3 (10 | 01 = 11)

>> 是右移位运算 相等于除以2

<< 是左移位,相等于乘以2

逻辑与和逻辑或都是给整数的运算

&和|

都是把左右两边变成二进制,然后逐位进行运算

>>和<<也是变成二进制,然后往左边和右边移位

比如

17和13

17 二进制是 10001

13二进制是 01101

17 & 13 = 10001 & 01101 = 00001 也就是1

17 | 13 = 10001 | 01101 = 11101 也就是 29

17>> 就是10001 右移位 变成 01000 就变成8了

17<< 就是10001 左移位 变成100010 变成34 了

————————————————

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...