C# 位运算符整理

C# 位运算符整理攻略

概述

在C#中,位运算符可以用于对二进制位进行逻辑运算。C#中的常见位运算符有:

  • 按位与(&)
  • 按位或(|)
  • 按位异或(^)
  • 取反(~)
  • 左移(<<)
  • 右移(>>)

按位与(&)

按位与运算符将两个数的二进制位进行比较,如果两个二进制位都为1,则该位的结果为1,否则为0。

示例代码:

int a = 5; // 二进制表示为:00000101
int b = 3; // 二进制表示为:00000011
int c = a & b; // c的二进制表示为:00000001,即1

Console.WriteLine(c);

输出结果为:1

按位或(|)

按位或运算符将两个数的二进制位进行比较,如果两个二进制位中有至少一个为1,则该位的结果为1,否则为0。

示例代码:

int a = 5; // 二进制表示为:00000101
int b = 3; // 二进制表示为:00000011
int c = a | b; // c的二进制表示为:00000111,即7

Console.WriteLine(c);

输出结果为:7

按位异或(^)

按位异或运算符将两个数的二进制位进行比较,如果两个二进制位不相同,则该位的结果为1,否则为0。

示例代码:

int a = 5; // 二进制表示为:00000101
int b = 3; // 二进制表示为:00000011
int c = a ^ b; // c的二进制表示为:00000110,即6

Console.WriteLine(c);

输出结果为:6

取反(~)

取反运算符将一个数的二进制位全部取反,即将0变为1,将1变为0。

示例代码:

int a = 5; // 二进制表示为:00000101
int b = ~a; // b的二进制表示为:11111010,即-6

Console.WriteLine(b);

输出结果为:-6

左移(<<)

左移运算符将一个数的二进制位向左移动若干位,低位补0。移动的位数由运算符右侧的数值确定。

示例代码:

int a = 5; // 二进制表示为:00000101
int b = a << 2; // b的二进制表示为:00010100,即20

Console.WriteLine(b);

输出结果为:20

右移(>>)

右移运算符将一个数的二进制位向右移动若干位,高位补0。移动的位数由运算符右侧的数值确定。

示例代码:

int a = 20; // 二进制表示为:00010100
int b = a >> 2; // b的二进制表示为:00000101,即5

Console.WriteLine(b);

输出结果为:5

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 位运算符整理 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • .NET Core分布式链路追踪框架的基本实现原理

    对于“.NET Core分布式链路追踪框架的基本实现原理”的详解,我将从以下四个方面进行阐述: 什么是分布式链路追踪框架? .NET Core分布式链路追踪框架的基本实现原理 分布式链路追踪框架的作用 分布式链路追踪框架的示例演示 1. 什么是分布式链路追踪框架? 分布式系统中,一个请求通常需要经过多个微服务协同处理才能完成,而在这么多的微服务中,如果出现了…

    C# 2023年6月3日
    00
  • C# winform打开Excel文档的方法总结(必看篇)

    以下是对“C# winform打开Excel文档的方法总结(必看篇)”的完整攻略: 简介 在C# WinForm开发中,我们经常需要读取并操作Excel文档。本文将介绍几种可行的Excel文档打开方法。 使用OleDb方式打开Excel文档 用Visual Studio创建一个新的WinForm程序项目,引用System.Data.OleDb应用程序集。 在…

    C# 2023年6月1日
    00
  • C# Count:获取 ICollection中的元素数

    C# Count的完整攻略 在C#中,Count是一个常用函数,可以用于统计集合中符合特定条件的元素个数。本文将详细介绍如何使用Count函数。 Count函数的基本语法 Count函数可以使用以下的语法: collection.Count(item => item == someValue); 其中collection是需要统计元素的集合,item代…

    C# 2023年4月19日
    00
  • Electron autoUpdater实现Windows安装包自动更新的方法

    那么我们来详细讲解一下Electron autoUpdater实现Windows安装包自动更新的方法。 1. 简介 Electron是一款支持使用Web技术开发桌面应用程序的开源框架。autoUpdater是Electron官方提供的自动更新模块,可以用于实现桌面应用程序的自动更新,无需用户手动下载最新版本的安装包。本文将详细介绍如何使用autoUpdate…

    C# 2023年6月6日
    00
  • c#获取windows桌面背景代码示例

    获取Windows桌面背景的代码可以通过以下步骤实现: 第一步:引入命名空间 首先需要在代码文件中引入System.Runtime.InteropServices和Microsoft.Win32这两个命名空间,代码示例如下: using System.Runtime.InteropServices; using Microsoft.Win32; 第二步:定义…

    C# 2023年6月2日
    00
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级(六十)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)…

    C# 2023年4月18日
    00
  • C#写一套最全的MySQL帮助类(包括增删改查)

    介绍说明:这个帮助类包含了六个主要的方法:ExecuteNonQuery、ExecuteScalar、ExecuteQuery、ExecuteQuery(泛型)、Insert、Update和Delete。其中,ExecuteNonQuery用于执行不返回结果集的SQL语句;ExecuteScalar用于执行一个查询,并返回结果集中第一行的第一列;Execut…

    C# 2023年4月22日
    00
  • C# Add(Object):将对象添加到集合中

    C#中的Add(Object)方法是指在集合(比如ArrayList)的末尾添加一个对象到集合中。下面是Add(Object)方法的完整攻略: 1. 方法签名 Add(Object)方法的签名如下: public virtual int Add(object value); 此方法的返回值为添加完后集合的元素数目,也就是添加前集合元素数目加1。 2. 参数说…

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