位运算基础知识及性质(精简总结)

编程入门 行业动态 更新时间:2024-10-15 06:13:56

位运算<a href=https://www.elefans.com/category/jswz/34/1769428.html style=基础知识及性质(精简总结)"/>

位运算基础知识及性质(精简总结)

目录

简介

基础知识

常用性质


简介

程计算机中的数在内存中都是以二进制形式进行存储的,用位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性能。

基础知识

  • 与运算(&):两个数的对应位都为1时结果为1。
  • 或运算(|):两个数的对应位有一个为1时结果为1。
  • 异或运算(^):两个数的对应位不相同时结果为1。
  • 非运算(~):一个数的每个位取反。
  • 左移(<<):二进制表示左移若干位,每左移一位,相当于该数乘以2
  • 右移(>>):二进制表示右移若干位,每右移一位,相当于该数除以2

常用性质

  • 任何数与 0 进行与运算都是 0
  • 任何数与 0 进行或运算都是本身
  • 双重非运算可以使得小数快速取整
  • 任何数与自己进行异或运算都为 0,所以任何数与 0 进行异或运算都是本身
x^x=0,x^0=x
(比较两值是否相等)
  • 实现乘除法
数 a 向右移一位,相当于将 a 除以 2;数 a 向左移一位,相当于将 a 乘以 2
  • 异或完成变量值交换
//位与操作
void swap(int &a, int &b) {a ^= b;b ^= a;a ^= b;
}
  • 与 1 进行与运算可以用来判断数的奇偶
只要根据数的最后一位是 0 还是 1 来决定即可,为 0 就是偶数,为 1 就是奇数
  • (a |= 1 << i) :将第 i + 1 个二进制位设为 1
  • [ a &= ~(1 << i) ] :将第 i + 1 个二进制位设为 0

更多推荐

位运算基础知识及性质(精简总结)

本文发布于:2023-12-07 05:08:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1670198.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础知识   性质

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!