按位与或运算在业务当中的应用

告别CMake依赖!在Visual Studio 2022中直接配置VTK 9.4开发环境(附完整项目示例) 本文详细介绍了如何在Visual Studio 2022中直接配置VTK 9.4开发环境,无需依赖CMake。通过图文教程和完整项目示例,帮助C++开发者快速集成VTK库,简化开发流程,提升工作效率。特别适合科学可视化任务的开发者。 阅读详情

##1. 与或运算:
1、位或运算符 ( | ) :对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0

mysql> SELECT 10 | 15 , 9 | 4 | 2 ;
+---------+-----------+
| 10 | 15 | 9 | 4 | 2 |     # 10的二进制为1010,15的二进制为1111,按位或运算之后结果为1111,即15
+---------+-----------+     # 9的二进制为1001,4的热禁止为0100,2的二进制为0010,按位或运算之后结果为1111,即15
| 15      | 15        |     
+---------+-----------+

 

2、位与运算符 ( & ) :对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0

mysql> SELECT 10 & 15 , 9 & 4 & 2 ;
+---------+-----------+
| 10 & 15 | 9 & 4 & 2 |
+---------+-----------+
| 10      | 0         |
+---------+-----------+

##2. 应用场景:
###2.1
商场系统中,有一个产品属性和产品类目属性,一个产品可能属于多个类目,在依据类目做查询时需要把属于该类目的所有产品查询出来,一般情况下我们的解决办法是,
把该产品所属的类目用分隔符按字符串形式保存到,比如
商场中白菜这个产品,白菜属于蔬菜类目1和抢购商品类目2,那么保存为(1,2),当查询所有抢购商品时,用like(‘,%2%’)等方式做查询,在数据量大的时候,这种查询效率太低,
此时可以考虑用与或运算。
###2.2
1. 产品类目用2的指数来表示:比如下图;
2. 如果一个商品属于多个类目,则用多个类目的值做或运算,比如 既是蔬菜又是限时抢购,则该产品的类目为16|1024=1040;
3. 当查询抢购商品时,用与运算,cat & #{cat},比如查询抢购商品时以下sql:
select * from product where cat & 1024
此sql的意思是:查询cat为cat$1024=1024的数据,所以1040&1024 =1024, 该条数据是可以被查询出来的;

###2.3 注意:

类型不易太多,如果类型太多容易出现重复数据,查询结果可能不够准确;

 

Linux系统安全学习手册 Linux反弹shell Linux系统应急响应 Linux服务器安全加固 Linux下的用户、组和权限 Linux中的gcc Linux中su和sudo的用法和区别 Linux系统python2与python3共存 Linux中grep工具的使用 Linux中环境变量的设置 Linux中常见的150个命令(干货) Linux中编写Shell脚本 LNMP环境搭建Wordpress博客 LAMP环境搭建一个Discuz论坛 Linux运维比较常用的一些脚本 Linux系统中安装软 阅读详情

相关推荐

python使用TensorRT报错,多线程或多进程中使用问题

python使用TensorRT报错,Cuda Runtime问题

qq_44224801的博客 747

C++ 按位计算

[align=center]C++ 按位计算[/align] 按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,...

android菜鸟的专栏 3186

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 165

位运算相关

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:1&0=0;0&0=0. 1 1 0 &...

zhengjuqiang的博客 421

贝塞尔曲线原理--曲线生成--路径规划--matlab代码

贝塞尔曲线有着很多特殊的性质, 在图形设计和路径规划中应用都非常广泛, 在路径规划中贝塞尔曲线完全由其控制点决定其形状, n个控制点对应着n-1阶的贝塞尔曲线,并且可以通过递归的方式来绘制.

bob595078694的博客 1万+

Spring Boot日志可视化实战:5分钟搞定Promtail采集与Grafana查询(避坑指南)

本文详细介绍了如何通过Promtail和Grafana实现Spring Boot日志的可视化查询,提供从日志采集到高效查询的全流程实战指南,重点解决部署中的常见问题。内容包括Logback配置、Promtail日志采集、Grafana的LogQL查询技巧及生产环境优化建议,帮助开发者快速定位和解决日志问题。

weixin_42526015的博客 106

按位与,按位或

按位与操作常用于计算机底层的位操作,例如在网络编程中,可以使用按位与操作来提取IP地址中的网络部分,或者进行子网掩码的计算。此外,按位与操作还可以用于位运算的逻辑判断和位掩码的生成。按位或(Bitwise OR)是一种位运算操作,用于对两个二进制数的对应位进行逻辑或运算。需要注意的是,按位与操作是一种位级别的操作,对于整数类型的数据,按位与操作会对其二进制表示的每一位进行操作。在这个例子中,对应位上的1与1进行按位与操作,结果为1;而对应位上的0与1或者0进行按位与操作,结果为0。// 初始化标志位为0。

m0_73618658的博客 843

QMI8658A和QMC5883L传感器校准全攻略:从零偏校准到椭球拟合

本文详细解析了QMI8658A和QMC5883L传感器的校准方法,从零偏校准到椭球拟合,涵盖了9轴运动传感器的核心误差来源及补偿技术。通过实战案例和数学建模,帮助开发者提升传感器精度,适用于无人机、AR/VR等智能硬件应用。

weixin_29189381的博客 158

与、或和异或在位运算中的应用

一、与 & 其功能是参与运算的两个数字对应的二进制位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 按位与运算通常用来对某些位清0或保留某些位。 应用: (1)清0特定位(mask中特定位置0,其他位为1,s=s&mask)。 (2)取某数中指定位(mask中特定位置1,其他位为0,s=s&mask)。 例 利用与将某数的二进制输出

yaotan的博客 1067

FPGA实战:用DDR3和乒乓操作解决视频帧撕裂问题(附Verilog代码)

本文详细介绍了如何利用DDR3内存和乒乓操作架构解决FPGA视频处理中的帧撕裂问题。通过多帧缓存原理、AXI接口配置和自适应乒乓操作设计,有效隔离读写操作,确保视频流稳定传输。文章包含Verilog代码实现和性能优化技巧,适用于工业相机、医疗影像等高速视频处理场景。

m2n3b4v5c6的博客 289

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

JAVA中四个二进制位从操作符即(&按位与、|按位货、^按位异或、~按位取反)...

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。 另,负数按补码形式参加按位与运算。 ...

guispor7的专栏 769

GEE必须会教程——一文教会你研究区域分块计算与合并

一整块算不是挺好的吗?emmmm,用过的人都知道,GEE好比幼年期的“紫妍”,要用“丹药”来养的,除非你是萧炎小友,到哪都有人给爆金币。我们今天想做的是计算2020年夏季西藏自治区的植被覆盖度(FVC),FVC的估算需要使用归一化植被指数(NDVI数据),这里我们用到的产品是MODIS的相关数据产品,该产品的分辨率是25 0m。下载好的结果毕竟是一块一块的,怎么对下载好的结果进行拼接,变成一张大图呢,别急,接下来,我们上科研小霸王——R语言。此处,我们通过省份数据,按照属性筛选,得到西藏自治区的行政边界。

Promising_GEO的博客 2511

C语言按位与运算符详解:从规则到实战应用

二进制位运算是计算机底层操作的核心,也是嵌入式开发、网络协议解析、图像处理等领域中高效处理数据的基础工具。按位与(&)作为最常见的位运算符之一,其规则简单但应用极其广泛:它通过逐位比较,只有两个对应位均为1时结果位才为1,这一特性使其天然适合掩码筛选、特定位清零、奇偶性判断等场景。在工程实践中,合理运用按位与不仅能提升代码执行效率,还能帮助开发者更直观地理解计算机的二进制存储与运算机制。从提取RGB颜色分量到计算子网地址,按位与都扮演着关键角色。然而,初学者常将它与逻辑与(&&)混淆,或因优先级问题引发隐蔽

weixin_34259232的博客 429

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

位运算应用:保存多状态标识应用

最近在梳理某个业务的服务状态,是前人牛人设计的使用位运算来记录表单字段的多个状态值。 位运算是大学的《计算机组成原理》学习的内容,而我们学习工作中很少用过位操作,经常阅读源码时人可能会偶尔看到使用位运算(因为直接使用位运算符效率更高),在此顺便把位运算做个简单的总结。我个人经常总结、不断反思做更好的自己............

黄规速博客:学如逆水行舟,不进则退 2209

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

c/c++ | 位运算 | 使用场景

#位运算 #使用场景 #c/c++

ttxiaoxiaobai的博客 499

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

位运算java_Java中的位运算

Java中的位运算,说实话,工作了两年的时间里,从来没有用过一次,因为平时都是些的是业务代码,很少接触比较底层的东西,我记得第一次在代码中看到还是在HashMap的Hash算法中看到的,这次重拾Java基础,着重理解了一下Java中的位运算,计算机中的运算一般都是操作反码进行运算,操作完成之后,再将结果的反码转化成原码,然后将二进制的结果转化成十进制输出出来,其实乘法和除法运算在计算机中都是通过位...

weixin_30467861的博客 403

面试准备(四)位运算以及代码中简单使用

位运算:从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。 合理的运用位运算更能显著提高代码在机器上的执行效率。 一、& 与运算 两位同时为1,结果才为1,否则结果为0。 0&0=0 0&1=0 1&0=0 1&1=1 应用技巧: 1、清零: 如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。 2

qq_40771567的博客 246

Java学习第6天笔记

三元运算符在分页业务逻辑中使用 class PageDemo { public static void main(String[] args) { /* 需求:给出一共有46条数据,要求每一页最多十条数据 计算一共多少页。 */ int totalCount = 46; int pageSize = 10;//每一页最多十条数据 //总页数 int ...

weixin_44497705的博客 220

利用位运算实现用户标签记录的原理与实现思路

用户标签对于软件系统及软件业务很重要,它是构成用户画像的核心因素,是将用户在平台内所产生的行为数据,分析提炼后生成具有差异性特征的形容词。比如直播应用中,可以给一个用户划分为。有了对应的用户标签之后,不同的用户可以划分成不同的用户群体,而不同的用户群体对于运营团队来说,可以根据不同群体发放不同的奖励,或者做一些活动等等,这样对平台的整个营收都会有很大的帮助。用来存储标签的十进制数字,十进制数字转换成二进制01串后,每个不同的为就代表不同的用户标签的含义,从而记录每个标签是否被标记。

Love Peace 613

【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间

位运算提供了一种极其优雅的替代方案:用一个 int(32 位)或 long(64 位)字段,就能存储 32 个甚至 63 个布尔状态。每个状态只占 1 个 bit,一个 bigint 字段仅 8 字节就能承载 63 个标记位,相比传统方案节省了数倍的存储空间。 更重要的是,位运算是 CPU 原生支持的操作,执行效率极高,不需要任何额外的计算开销。 本文将从零开始,带你设计并封装一套通用的位运算工具类,配合枚举管理位语义,让你的代码既高效又优雅。

2301_81073317的博客 657

【BitMap】

本文介绍了BitMap的基本原理及其在通信领域中的应用。BitMap利用二进制位表示状态,具有存储高效的优势,适用于海量数据去重、排序等场景。在通信领域中,BitMap被广泛应用于资源分配(频谱、信道管理)、信令处理(TCP标志位)、数据链路层(帧状态管理)以及网络监控(告警标识、故障定位)等方面。其二进制特性能够有效提升系统资源管理效率和通信协议处理性能,为网络通信提供了高效的状态管理和优化手段。

weixin_49708630的博客 935

java中"与"和"或"

在java中"与"和"或"都具有短路功能。 关于"或"运算如 if(mc == null || mc.getReceive()==0){ //没有领取过 //业务1 }else{ //业务2 }   上面的"mc"是一个对象,如果这...

weixin_30402085的博客 1826

PL/SQL语言的扩展运算符

扩展运算符是PL/SQL中提供的多种运算符和功能,用于增强SQL的表达能力。算术运算符关系运算符逻辑运算符位运算符字符运算符其他特殊运算符PL/SQL作为一种功能强大的过程化编程语言,在数据库操作中具有不可替代的地位。扩展运算符作为PL/SQL的重要组成部分,其灵活性和强大功能使得开发者可以在数据处理、控制流、异常处理等多方面高效地完成任务。通过对扩展运算符的灵活应用,能够提升数据库的处理效率与业务逻辑的执行效果。

2501_91257731的博客 408

DTC与状态掩码:高效管理多状态组合的位运算实践

在软件工程中,高效管理对象状态是核心挑战。传统方法如布尔变量或枚举在处理大量可组合状态时,常面临可维护性和性能瓶颈。位运算(Bitwise Operation)作为一种底层计算机原理,通过操作二进制位,为状态管理提供了高效解决方案。其技术价值在于能以极小的内存开销和极高的CPU效率,清晰表达和操作多个可同时存在的状态。这一特性在游戏开发、物联网设备监控、电商订单系统等需要处理大量并发状态的场景中尤为重要。通过定义常量(DTC)模式将状态掩码(State Mask)的位值语义化,开发者可以构建出既高效又易于维

weixin_34130389的博客 336

HarmonyOS Next基础数据类型详解:从布尔到整数的深度剖析

通过操作符重载实现自定义类型转换逻辑(如复数转浮点)。```## 总结HarmonyOS Next的数据类型体系以“类型安全”和“性能优化”为核心设计理念,既满足日常业务开发需求,又为高性能计算、物联网边缘设备等场景提供了精准的控制能力。开发者需根据场景选择合适的类型(如金融计算用`Decimal`、传感器数据用`Float16`),并熟练掌握类型转换、溢出检测等技巧,确保程序的稳定性与效率。

same4869的博客 556
上一篇: 小知识积累中...
下一篇: docker build 报错:temporary error
雨冰
博客等级 码龄15年 18粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值