C#运算符之与,或,异或及移位运算小结

让我们来详细讲解一下C#中的逻辑运算符、位运算符及移位运算符。

逻辑运算符

与运算符(&&)

与运算符用于连接两个逻辑表达式并在两个表达式均为true时返回true。与运算符可以被用于任何基本的数据类型,例如bool、int等。

int a = 3;
int b = 5;
if (a < b && b % 2 == 1)
{
    Console.WriteLine("a小于b且b是奇数");
}

上面的代码示例中,如果a小于b且b是奇数,那么控制台就会输出"a小于b且b是奇数",否则不做任何输出。

或运算符(||)

或运算符用于连接两个逻辑表达式并在两个表达式有任意一个为true时返回true。或运算符同样也可以用于任何基本的数据类型。

int a = 3;
int b = 5;
if (a == 3 || b == 4)
{
    Console.WriteLine("a等于3或b等于4");
}

上述代码示例中,如果a等于3或b等于4,那么控制台就会输出"a等于3或b等于4",否则不做任何输出。

异或运算符(^)

异或运算符用于连接两个逻辑表达式并在两个表达式仅当一个为true时返回true。异或运算符也可以用于任何基本的数据类型,例如bool、int等。

int a = 3;
int b = 5;
if (a == 3 ^ b == 3)
{
    Console.WriteLine("a等于3且b不等于3,或者a不等于3且b等于3");
}

上述代码示例中,如果a等于3且b不等于3,或者a不等于3且b等于3,那么控制台会输出"a等于3且b不等于3,或者a不等于3且b等于3",否则不做任何输出。

位运算符

按位与运算符(&)

按位与运算符用于连接两个整数并在它们的二进制表示的对应位都为1时返回1。按位与运算符可以用于任何整数类型。

int a = 5;       //二进制:0101
int b = 3;       //二进制:0011
int result = a & b; //二进制:0001

在上面的代码示例中,按位与运算符将a和b的二进制表示对应位进行与运算,结果为1的只有a和b的二进制表示的最右位,所以结果为1。

按位或运算符(|)

按位或运算符用于连接两个整数并在它们的二进制表示的对应位的任意一位为1时返回1。按位或运算符也可以用于任何整数类型。

int a = 5;       //二进制:0101
int b = 3;       //二进制:0011
int result = a | b; //二进制:0111

在上面的代码示例中,按位或运算符将a和b的二进制表示对应位进行或运算,结果为1的位有a、b的二进制表示的最右位以及最左位,所以结果为0111。

按位异或运算符(^)

按位异或运算符用于连接两个整数并在它们的二进制表示的对应位的任意一位为1而另一位为0时返回1。按位异或运算符也可以用于任何整数类型。

int a = 5;       //二进制:0101
int b = 3;       //二进制:0011
int result = a ^ b; //二进制:0110

在上面的代码示例中,按位异或运算符将a和b的二进制表示对应位进行异或运算,结果为1的位有a、b的二进制表示的第2位和第3位,所以结果为0110。

左移位运算符(<<)

左移位运算符将二进制数向左移动指定的位数。左移位运算符对整数进行操作。

int a = 5;       //二进制:0101
int result = a << 1; //二进制:1010

在上述代码示例中,a的二进制表示向左位移了一位,所以最终的结果是1010。

右移位运算符(>>)

右移位运算符将二进制数向右移动指定的位数。右移位运算符同样对整数进行操作。

int a = 5;       //二进制:0101
int result = a >> 1; //二进制:0010

在上述代码示例中,a的二进制表示向右位移了一位,所以最终的结果是0010。

希望上述代码示例能够对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#运算符之与,或,异或及移位运算小结 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • C#连接mysql的方法【基于vs2010】

    C#连接MySQL的方法【基于VS2010】 1. 准备工作 在使用C#连接MySQL之前,需要先完成一些准备工作: 确认已经安装了MySQL数据库,并且启动了MySQL服务。 确认已经安装了Visual Studio 2010开发环境。 确认已经安装了MySQL Connector/NET驱动程序。该驱动程序可以从MySQL官方网站下载得到。 2. 新建C…

    C# 2023年6月2日
    00
  • C#编程获取各种电脑硬件信息的方法示例

    C#是一种流行的面向对象编程语言,可以获取电脑硬件信息,并且是比较容易实现的。下面,我将分享一些示例代码,用以获得各种电脑硬件信息的方法。 硬件信息获取方法一:使用System.Management命名空间 System.Management命名空间提供了一种获取WMI(Windows Management Instrumentation)服务的方法,该服务…

    C# 2023年6月7日
    00
  • .net中下载文件的实例代码

    下面是“.NET中下载文件的实例代码”的完整攻略: 1. 使用WebClient类下载文件 WebClient类提供了一个简单的方法来从远程服务器下载文件。以下是示例代码: using System.Net; public void DownloadFile(string remoteUrl, string localPath) { using (var c…

    C# 2023年5月31日
    00
  • 函数指针的一些概念详解

    函数指针的一些概念详解 什么是函数指针? 函数指针实际上就是一个指针变量,它指向的是一个函数。指针变量可以用来存储函数的地址,当程序需要调用该函数时,可以通过函数指针来访问该函数。 声明函数指针的语法如下: 返回类型 (*指针变量名)(参数类型1, 参数类型2, … , 参数类型n) 下面是一个简单的例子: #include <stdio.h&gt…

    C# 2023年6月7日
    00
  • 关于C# 调用Dll 传递字符串指针参数的问题

    需要调用DLL并传递字符串指针参数的问题,可以通过以下步骤进行处理: 第一步:定义DLL的方法签名和参数类型 首先在C#代码中定义DLL中方法的签名和参数类型,例如需要调用以下C++ DLL中的方法: void MyFunction(LPWSTR lpString); 在C#中,可以如下定义该方法的签名和参数类型: [DllImport("MyDL…

    C# 2023年6月8日
    00
  • C#实现在窗体上的统计图效果

    首先,在窗体上实现统计图效果的方式有很多种,以下是其中一种具体的实现方法,具体攻略如下: 1. 准备工作 在使用C#实现窗体上统计图效果之前,我们需要确保以下几点: 确保在Visual Studio中安装了Windows Forms应用程序工具包 确保在Windows Form中添加了一个Chart控件 2. 设定数据源 在Chart控件中使用数据源,可以是…

    C# 2023年6月6日
    00
  • 浅谈C#中的string驻留池

    下面是详细讲解C#中的string驻留池的完整攻略: 什么是字符串驻留池 字符串是C#语言中最常用的数据类型之一。为了避免构造新的字符串对象导致大量的内存和GC(垃圾回收)压力,C#中引入了字符串驻留池(string intern pool)的概念,用于缓存小字符串对象。驻留池的原理是:当构造了一个字符串对象,并把它赋给一个变量时,.NET运行时会首先检查驻…

    C# 2023年5月31日
    00
  • C# Path.GetFileName()方法: 获取指定路径字符串的文件名和扩展名

    C#中Path.GetFileName()的作用与使用方法 Path.GetFileName() 是C#中 System.IO 命名空间提供的方法之一,它可以返回指定路径字符串的文件名和扩展名,并移除该路径字符串中的所有其他信息。它不会返回目录名称。 使用 Path.GetFileName() 方法时,需要引用System.IO 命名空间,格式如下: usi…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部