C#位运算符

2089 1 评论 更新于: 2021-06-13 读完约需 5 分钟

概述

在C#中,位运算符主要用于位操作,这些运算符用于对操作数执行逐位运算,如位与(&)、位或(|)、位异或(^)等。我们可以对布尔和整数数据执行位运算。

例如,假如有整数变量a = 10, b = 20,这些变量的二进制格式如下所示:

a = 10 (00001010)
b = 20 (00010100)

当我们对这些数据进行位或(|)运算时,我们将得到如下所示的结果:

00001010
00010100
--------
00011110 = 30 (十进制)

下表列出了C#按位运算中可用的运算符:

运算符 名称 描述 示例 (a = 0, b = 1)
& 按位与运算 将第一个操作数的每个位与其第二个操作数的对应位进行比较。如果两个位都是1,那么结果位将是1;否则,结果将为0。 a & b (0)
| 按位或运算 将第一个操作数的每个位与其第二个操作数的对应位进行比较。如果其中一位为1,则结果位为1;否则,结果将为0。 a | b (1)
^ 按位异或运算 将第一个操作数的每个位与其第二个操作数的对应位进行比较。如果一位为0,另一位为1,则结果位为1;否则,结果将为0。 a ^ b (1)
~ 按位取反运算 它只对一个操作数进行操作,并且它将对每个操作数位进行反向运算。它将把1位变为0位,反之亦然。 ~(a) (1)
<< 二进制左移运算符 将数字根据指定的位数向左移动,0将被加到最低有效位上。 b << 2 (100)
>> 二进制右移运算符 将数字根据指定的位数向右移动,0将被加到最低有效位上。 b >> 2 (001)

C#按位运算示例

以下是C#语言中按位运算(按位与、按位或、按位异或、按位取反、二进制左移、二进制右移)等的示例程序:

using System;

namespace ConsoleApp1
{
    static class Program
    {
        static void Main(string[] args)
        {
            int x = 15, y = 20;
            int result;
            result = x & y;
            Console.WriteLine("按位与运算: " + result);
            result = x | y;
            Console.WriteLine("按位或运算: " + result);
            result = x ^ y;
            Console.WriteLine("按位异或运算: " + result);
            result = ~x;
            Console.WriteLine("按位取反运算: " + result);
            result = x << 2;
            Console.WriteLine("二进制左移运算符: " + result);
            result = x >> 2;
            Console.WriteLine("二进制右移运算符: " + result);
            Console.ReadLine();
        }
    }
}

运行结果如下图:

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » C#程序设计基础(入门篇) » C#位运算符 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论(1)

刘棋 (2023-09-13)

太难了,越想越气