Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# 位运算

作者:影之哀伤   发布日期:2025-05-14   浏览:98

// 位运算示例代码

using System;

class Program
{
    static void Main()
    {
        // 定义两个整数
        int a = 60;  // 二进制: 0011 1100
        int b = 13;  // 二进制: 0000 1101

        // 按位与 (&)
        int andResult = a & b;
        Console.WriteLine($"a & b = {andResult} (二进制: {Convert.ToString(andResult, 2).PadLeft(8, '0')})");

        // 按位或 (|)
        int orResult = a | b;
        Console.WriteLine($"a | b = {orResult} (二进制: {Convert.ToString(orResult, 2).PadLeft(8, '0')})");

        // 按位异或 (^)
        int xorResult = a ^ b;
        Console.WriteLine($"a ^ b = {xorResult} (二进制: {Convert.ToString(xorResult, 2).PadLeft(8, '0')})");

        // 按位取反 (~)
        int notA = ~a;
        Console.WriteLine($"~a = {notA} (二进制: {Convert.ToString(notA & 0xFF, 2).PadLeft(8, '0')})");

        // 左移 (<<)
        int leftShift = a << 2;
        Console.WriteLine($"a << 2 = {leftShift} (二进制: {Convert.ToString(leftShift, 2).PadLeft(8, '0')})");

        // 右移 (>>)
        int rightShift = a >> 2;
        Console.WriteLine($"a >> 2 = {rightShift} (二进制: {Convert.ToString(rightShift, 2).PadLeft(8, '0')})");
    }
}

解释说明:

  1. 按位与 (&):逐位比较两个操作数,只有当两个相应的二进制位都为1时,结果才为1。
  2. 按位或 (|):逐位比较两个操作数,只要有一个相应的二进制位为1,结果就为1。
  3. 按位异或 (^):逐位比较两个操作数,只有当两个相应的二进制位不同时,结果才为1。
  4. 按位取反 (~):对每个二进制位进行取反操作,即将1变为0,将0变为1。
  5. 左移 (<<):将操作数的二进制位向左移动指定的位数,右边补0。
  6. 右移 (>>):将操作数的二进制位向右移动指定的位数,左边补符号位(对于有符号数)。

通过这些位运算符,可以高效地进行位级别的操作,常用于优化性能和处理低级硬件编程。

上一篇:c# 进度条

下一篇:c# fileinfo

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站