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日

相关文章

  • Unity 使用tiledmap解析地图的详细过程

    下面我将为你详细讲解Unity使用TiledMap解析地图的详细过程。 1. 安装TiledMap插件 首先需要在Unity中安装TiledMap插件,步骤如下: 进入Unity Asset Store,搜索“Tiled2Unity”并下载安装。 安装完成后,在Unity的菜单栏中选择“Tiled2Unity” > ”Import Tiled Map“…

    C# 2023年6月3日
    00
  • C#并发实战记录之Parallel.ForEach使用

    C#并发实战记录之Parallel.ForEach使用 什么是 Parallel.ForEach? Parallel.ForEach 是一个并行迭代器,它允许并行执行循环。简单的说,就是可以将一个大型的循环任务拆分成多个子任务,使得多个任务可以并行执行,提高执行效率。 如何使用 Parallel.ForEach? Parallel.ForEach 的用法非常…

    C# 2023年6月6日
    00
  • C#如何更改Word的语言设置

    我来为你详细讲解如何使用C#更改Word的语言设置。 1. Word语言设置的基本知识 在开始使用C#编程更改Word的语言设置之前,我们需要先了解一些基本概念和知识。 Word语言设置分为三个部分:界面语言、编辑语言和默认语言。 界面语言:指Word的菜单、工具栏、对话框等界面显示的语言。 编辑语言:指Word用于检查拼写和语法的语言。 默认语言:指Wor…

    C# 2023年6月1日
    00
  • 详解使用C#编写SqlHelper类

    为了详细讲解“详解使用C#编写SqlHelper类”的完整攻略,我将从以下几个方面进行讨论。 什么是SqlHelper类? 为什么需要使用SqlHelper类? SqlHelper类的特点和使用方法。 两个使用示例。 什么是SqlHelper类? SqlHelper类是一个包含可以与数据库进行交互的方法的类。它是C#中一种常用的数据库编程方式。它支持基本的S…

    C# 2023年6月2日
    00
  • C# File.Exists – 判断文件是否存在

    File.Exists方法的作用与使用方法 File.Exists方法的作用 C#的File.Exists方法用于检查文件是否存在。当需要在代码中判断一个文件是否存在时,我们可以使用该方法来判断,避免了在后续文件操作中出现异常的情况。 File.Exists方法的使用方法 File.Exists方法属于C#的System.IO命名空间,使用该方法需要导入该命…

    C# 2023年4月19日
    00
  • 使用JavaScript和C#中获得referer

    获取referer主要用于获取用户从哪个页面跳转而来,在前端和后端均有相应方法。在JavaScript中可以使用document.referrer进行访问,在C#中可以使用Request.Headers[“Referer”]进行访问。下面是详细的攻略。 在JavaScript中获取referer 在前端中获取referer的方法比较简单,可以使用docume…

    C# 2023年6月6日
    00
  • C#实现汉字转换为拼音缩写的代码

    为什么需要汉字转换为拼音缩写的代码? 在开发中经常遇到需要用到汉字首字母缩写的场景,例如:根据拼音缩写进行搜索、按照拼音缩写排序等。如果每次手动输入显然是不现实的,因此需要使用程序实现汉字转换为拼音缩写的功能。 实现汉字转换为拼音缩写的基本思路 汉字转拼音的过程需要使用到第三方库,例如pinyin4net等,具体步骤如下: 下载并引入pinyin4net库;…

    C# 2023年6月8日
    00
  • 简单实现C#异步操作

    下面我将详细讲解“简单实现C#异步操作”的完整攻略。 什么是异步操作 异步操作是指当程序执行某些操作时,不需要等待某些阻塞的操作完成,而是可以先执行其他任务。在C#中,异步操作主要采用async和await关键字来实现。 实现异步操作的步骤 定义异步方法 首先需要定义异步方法,可以使用async关键字修饰,方法体内可以使用await关键字来等待异步操作的完成…

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