// 位运算示例代码
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# 进度条
下一篇:c# fileinfo
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站