与运算 a & b ,
或运算 a | b ,
异或运算 a ^ b ,
或者
你也可以将 与运算理解为 + 法
例如
1|2 = 3 (1+2 = 3)
1|2|4 = 7 (1+2+4 = 7)
将 异或运算理解为 - 法
例如
3^2 = 1 (3-2 = 1)
3^1 = 2 (3-1 = 2)
最后将 与运算 作为判断
例如
3&2 = 1 (3 = 1 + 2, 由 1和2组成 ,所以判断3&2 = 1 )
3&4 = 0 ( 3 没有由 4组成,所以判断3&4 = 0)
那么位运算有何用处呢, 例如 UNIX系统中的权限, 通常我们所知 权限分为 r 读, w 写, x 执行,其中 它们的权值分别为4,2,1, 所以 如果用户要想拥有这三个权限 就必须 chomd 7 , 即 7=4+2+1 表明 这个用户具有rwx权限,如果只想这个用户具有r,x权限 那么就 chomd 5即可
说道此处就要涉及到数据库了。
通常 我们的数据表中 可能会包含各种状态属性, 例如 blog表中 , 我们需要有字段表示其是否公开,是否有设置密码,是否被管理员封锁,是否被置顶等等。 也会遇到在后期运维中,策划要求增加新的功能而造成你需要增加新的字段。
这样会造成后期的维护困难,数据库增大,索引增大的情况。 这时使用位运算就可以巧妙的解决。
例如
-- 公开blog 给status进行或运算
UPDATE blog SET status = status | 1;
-- 加密blog 给status进行或运算
UPDATE blog SET status = status | 2;
-- 封锁blog
UPDATE blog SET status = status | 4;
-- 解锁blog
UPDATE blog SET status = status ^ 4;
--查询所有被置顶的blog
SELECT * FROM blog WHERE status & 8;
虽然节省了空间,但是由于没有办法对status字段使用索引,所以如何使用来优化查询才是最重点的。
分享到:
相关推荐
2. **不使用临时变量交换两个变量的值**:利用按位异或运算的性质,可以实现两个变量之间值的交换而无需第三个变量。具体步骤如下: - `a = a ^ b` - `b = a ^ b` - `a = a ^ b` #### 四、其他按位运算 除了...
这是因为 MySQL 使用了 id 主键索引来快速定位分页的位置。 解决方案二:使用 where 子句 我们也可以使用 where 子句来优化分页查询。例如: select id, title from collect where id > (select id from collect ...
从各种替换法运算的特点看,异或运算最适合用于简易加解密运算,本文将介绍一个简单易用的加密/解密算法:使用异或(XOR)运算。本算法原理简单,旨在使读者对信息的加密/解密有一个更加直观的印象。
5. **连接与管理**:使用MySQL命令行客户端(如"mysql.exe")或图形化工具(如MySQL Workbench)连接到服务器,进行数据库管理和操作。 在日常使用中,我们可能还需要关注以下几个方面: - **备份与恢复**:定期...
MySql只支持Union(并集)集合运算;但是对于交集Intersect、差集Except,就没有实现了。...其实,可以使用另外的方式运算,当然是没有办法的办法。 伪列:实现类似Oracle,MySqlServer的Over() partition by 开窗函数
1. **内存利用率**:64位操作系统允许MySQL使用超过4GB的物理内存,这有助于提高查询性能,尤其是在进行大规模数据处理时。 2. **处理能力**:64位MySQL能处理更大的数据文件和更多的并发连接,适合处理大量数据和...
在SQL Server中,位运算是一种...这种方法不仅适用于SQL Server,还可以在其他支持位运算的数据库系统中应用,如MySQL、Oracle等。在实际开发中,合理利用位运算可以优化数据库设计,提高查询性能,降低系统复杂度。
计算机后端-PHP视频教程. php与mysql加强- 05. php加强51-位运算.wmv
7.3.10 多列索引 7.3.11 使用来自其他数据库引擎的列类型 7.4 用在SELECT和WHERE子句的函数 7.4.1 分组函数 7.4.2 常用的算术运算 7.4.3 位函数 7.4.4 逻辑运算 7.4.5 比较运算符 ...
"MySQL 日期函数和时间函数及加减运算" MySQL 日期函数和时间函数是 MySQL 中非常重要的函数,用于处理日期和时间数据类型。这些函数可以帮助开发者快速获得当前日期和时间、执行日期和时间相关的操作。 获得当前...
7. 位操作函数:如BIT_AND()、BIT_OR()和BIT_XOR()用于进行二进制位运算。 8. 信息函数:如DATABASE()返回当前数据库名,USER()获取当前用户名,VERSION()显示MySQL版本信息。 手册还可能包含关于聚合函数(如...
7.3.9 列索引 7.3.10 多列索引 7.3.11 使用来自其他数据库引擎的列类型 7.4 用在SELECT和WHERE子句的函数 7.4.1 分组函数 7.4.2 常用的算术运算 7.4.3 位函数 7.4.4 逻辑...
MySQL教程是针对数据库管理系统MySQL的一份详尽指南,基于MySQL 8.0参考手册编纂而成,适合初学者和有经验的开发者使用。本教程涵盖了从基础操作到复杂查询的多个方面,旨在满足日常开发中的各种需求。 1. **连接与...
### MySQL使用心得与技巧 #### 一、MySQL内置函数运用 **1. IP地址与数字之间的转换** - **函数介绍** - `INET_ATON`: 将IP地址转换为整数。 - `INET_NTOA`: 将整数转换为IP地址。 - **应用场景** - 在...
- **内存管理**:64位系统能处理更大的内存地址空间,允许MySQL使用超过4GB的内存,对于处理大量数据的数据库系统来说至关重要。 - **计算能力**:64位处理器能进行更大范围的数学运算,提高处理速度,特别是对于...
例如,可以使用栈数据结构来模拟运算符的优先级,先处理括号内的运算,再处理乘法和除法(它们比加法和减法有更高的优先级),最后处理加法和减法。 在提供的"Arithmetic.sln"和"Arithmetic.suo"文件中,".sln"是...
MySQL中的乘法与除法运算在处理浮点数精度时可能会表现出不一致性,尤其是在涉及到小数部分时。这种不一致性的根源在于MySQL处理除法和乘法的方式不同。 首先,让我们探讨除法的精度。在MySQL中,当执行除法运算(/...
在Java和MySQL中,处理小数时需要注意一系列与精度、数据类型选择以及运算准确性相关的问题。首先,让我们深入了解Java中小数的保存方式。 Java提供了两种基本的小数数据类型:float和double。float占用4个字节,...
了解和使用这些资源可以帮助数据库管理员或开发者增强MySQL的功能,解决特定业务场景下的问题。例如,可以创建一个UDF来处理特殊的数据类型,执行复杂的计算,或者实现特定的加密解密算法。不过,使用UDF时也需注意...
MySQL数据库考试试题及答案 在本文中,我们将对 MySQL 数据库考试试题及答案进行...在 MySQL 中,SELECT 语句中不能使用运算符号。 25.其他问题 在 MySQL 中,还有很多其他的知识点,例如索引、视图、存储过程等。