// 位运算示例代码
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,结果就为1。^):逐位比较两个操作数,只有当两个相应的二进制位不同时,结果才为1。~):对每个二进制位进行取反操作,即将1变为0,将0变为1。<<):将操作数的二进制位向左移动指定的位数,右边补0。>>):将操作数的二进制位向右移动指定的位数,左边补符号位(对于有符号数)。通过这些位运算符,可以高效地进行位级别的操作,常用于优化性能和处理低级硬件编程。
上一篇:c# 保留2位小数
下一篇:c# fileinfo
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站