C# —— 位运算符

server/2024/9/20 3:58:08/ 标签: c#, 开发语言

简介

位运算符  主要是用于数值类型计算
运算方式: 将数值转换为二进制 在进行位运算
返回的是一个二进制转十进制的数值
如果二进制数 不够位置 则在前面补零

位与  & 

规则: 连接两个数值进行位运算 将数值转换为二进制进行计算 

对位运算 有零则零

int a = 1;
int b = 5;
int result = a & b;
Console.WriteLine(result); // 1
int c = 2;
result = b & c;
Console.WriteLine(result); // 0
// 17  10001  18  10010
result = 8 & 16;
Console.WriteLine(result);

 位或 |

规则 : 连接两个数值进行运算 将数值转换为二进制
对位运算 有1则1

a = 21;
b = 10;
result = a | b;
Console.WriteLine(result); // 31a = 20;
b = 15;
result = a | b;
Console.WriteLine(result); // 31

位或 ^

规则 : 连接两个数值进行运算 将数值转换为二进制
对位运算 相同为0 不同为1

a = 21;
b = 25;
result = a ^ b;
Console.WriteLine(result);a = 3;
b = 25;
result = a ^ b;
Console.WriteLine(result);

位取反 ~

规则: 将一个数转换为二进制进行运算
对位运算 0变1 1变0

//  0000 0000 0000 0000 0000 0000 0000 0101
// -1111 1111 1111 1111 1111 1111 1111 1010
// 进行反码补码
a = 5;
result = ~a;
Console.WriteLine(result); // -6

<< 左移  和  右移 >>

规则 让一个数的二进制数 进行左移和右移
左移几位 就在右侧加几个零

右移 右移几位  右侧就去掉几位数

result = a << 3; // 101 => 101000
Console.WriteLine(result); // 40
// 右移 右移几位  右侧就去掉几位数
result = 12 >> 2; // 1100 
Console.WriteLine(result);// 3


http://www.ppmy.cn/server/51065.html

相关文章

解决python从TD数据库取50w以上大量数据慢的问题

1.问题背景描述 python项目中的时序数据都存放在TD数据库中&#xff0c;数据是秒级存入的&#xff0c;当查询一周数据时将超过50w数据量&#xff0c;这是一次性获取全量数据到python程序很慢&#xff0c;全流程10秒以上&#xff0c;希望进行优化加速 2.排查 首先&#xff0c…

TCP如何保证数据传输的稳定性和可靠性

TCP&#xff08;传输控制协议&#xff09;通过多种机制确保数据传输的稳定性和可靠性。以下是TCP确保数据传输稳定性的几个关键机制&#xff0c;以及确认号和流量控制功能的关系&#xff1a; 三次握手&#xff08;Three-way Handshake&#xff09;&#xff1a; 建立连接时&…

你知道什么是微调吗?大模型为什么要微调?以及大模型微调的原理是什么?

“ 预训练(pretrain)微调(finetuning)&#xff0c;是目前主流的范式**”** 在学习大模型的过程中&#xff0c;怎么设计神经网络和怎么训练模型是一个重要又基础的操作。 但与之对应的微调也是一个非常重要的手段&#xff0c;这里就着重讲一下为什么要微调&#xff0c;其优点是…

【尚庭公寓SpringBoot + Vue 项目实战】租约管理(十四)

【尚庭公寓SpringBoot Vue 项目实战】租约管理&#xff08;十四&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】租约管理&#xff08;十四&#xff09;1、业务介绍2、逻辑介绍3、接口开发3.1、保存或更新租约信息3.2、根据条件分页查询租约列表3.3、根据ID查询租…

springboot 整合redis问题,缓存击穿,穿透,雪崩,分布式锁

boot整合redis 压力测试出现失败 解决方案 排除lettuce 使用jedis <!-- 引入redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><exclus…

【0-1系列】从0-1快速了解搜索引擎是什么以及怎么用(上)

友情链接 社区开发版安装部署与使用教程社区版家族V2024.5版本更新说明 START>>1.快速了解搜索引擎 什么是搜索引擎数据库 搜索引擎数据库是一类专门用于数据内容搜索的NoSQL数据库&#xff0c;是非结构化大数据处理分析领域中重要的基础支撑软件。 伴随互联网、移动…

网络安全基础漏洞复习

一.sql注入 Mysql自带了Information_schema这个数据库&#xff0c; 5.0以下是没有的 布尔盲注 时间盲注sleep 报错注入 堆叠注入&#xff08;就是一下使用了两个SQL语句只不过使用 ; 来把他们分隔开&#xff09; 报错常用函数&#xff1a;extractvalue updatexml exp 基于g…

不同类型的Shell脚本

大家好&#xff0c;我是G探险者。 在linux里面执行某个shell脚本的时候&#xff0c;发现执行不了&#xff0c;说什么不兼容&#xff0c;研究了一下发现shell脚本也有这么多的类型&#xff0c;下面就简单聊聊。 简介 Shell脚本是一种用于自动化任务的强大工具&#xff0c;广泛…

开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边及循环遍历文件夹全量压缩图片

今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具 一、开发背景&#xff1a; 业务需要将一个pdf文件展示在前端显示&#xff0c;但是基于各种原因&#xff0c;放弃了h5使用插件展示 原因有多个&#xff0c;文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果…

3D模型在电商行业的应用有哪些?

3D模型在电商行业的应用广泛且多样化&#xff0c;以下是几个主要的应用领域&#xff1a; 1、商品展示&#xff1a; 3D立体展示技术能够利用商品的3D模型进行全方位的展示&#xff0c;支持720旋转和任意缩放&#xff0c;使得消费者能够更直观地了解产品的外观、结构和特点。这…

Spring Boot常用注解

EnableAutoConfiguration: 作用自动扫描并添加jar包依赖 SpringBootApplication: 原理是一个组合注解&#xff0c;相当于EnableAutoConfiguration和ComponentScan RestController: 用于标注控制层组件(如struts中的action)&#xff0c;包含Controller和ResponseBody Reposit…

排序(2)【选择排序】【快速排序】

一.选择排序 选择排序就是选择一个数组的最大的数字或者最小的数字&#xff0c;放在一整个数组的最后或者开头的位置。 1.选择排序的实现 我们可以对选择排序进行一些加强&#xff0c;普通的选择排序是选择最小的数&#xff0c;然后进行交换。这个加强之后就是我们既要选择出…

支付宝H5支付

业务场景&#xff1a;需要再手机端H5使用支付宝的支付&#xff01; 第一步&#xff1a; 开通支付宝商户,支付宝开放平台地址放在这里了。 第二步&#xff1a; 创建应用开通支付产品功能&#xff1a; 创建应用就不单一切图了&#xff01;登录账户-管理中心就能看到-选择网页…

微信小程序知识点概况

1. 基本概念 微信小程序&#xff1a;是一种新的开放能力&#xff0c;开发者可以快速地开发一个小程序。小程序能够在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。 特点&#xff1a; 无需安装&#xff1a;用户通过扫描二维码或搜索即可使用。触手可及&…

主流后端开发语言对比

软件开发领域&#xff0c;语言本身在各自领域都有适用场景&#xff0c;有许多流行的编程语言可供选择&#xff0c;每种语言都有其独特的特点和适用场景。 Java、C、C、Go 、Python、C#、Ruby、PHP 等主流编程语言&#xff0c;从底层实现、效率、原理、国内外市场占有率、社区活…

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…

Centos+Jenkins+Maven+Git 将生成的JAR部署到远程服务器上

1、登录 没有安装的参考下面的安装步骤先安装: Jenkins安装手册 输入账号、密码登录系统。 2、新建任务 2.1 创建页面 1,“输入一个任务名称”; 2,任务类型点击“构建一个maven项目”; 3,点击“确定”,此时,构建任务创建完成。 2.2 General 1、描述:输入要部署…

通用大模型VS垂直大模型

通用大模型VS垂直大模型&#xff0c;你更青睐哪一方&#xff1f; 在当前AI大模型的竞争环境中&#xff0c;通用大模型和垂直大模型各有其独特的优势和挑战&#xff0c;选择哪一方更有前景需要考虑多方面因素。 通用大模型的优势与挑战 通用大模型如GPT-3、BERT等在自然语言处理…

MFC工控项目实例之五CFile类读写系统参数

承接专栏《MFC工控项目实例之四在调试目录下创建指定文件夹》 实时保存输入的iPlotX坐标轴最小值、最大值到CFG.PAR文件&#xff0c;打开界面从CFG.PAR文件中实时读取保存的最小值、最大值在编辑框中显示。 1、SEAL_PRESSURE.h中添加代码 class CSEAL_PRESSUREApp : public CW…

LeetCode 58. 最后一个单词的长度

LeetCode 58. 最后一个单词的长度 你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串 示例 1&#xff1a; 输入&#xff1a;s “Hello World”…