位运算基础
来源:互联网 发布:apache ab post请求 编辑:程序博客网 时间:2024/05/29 09:13
首先谈谈位运算与逻辑运算的区别:尽管它们有一些相似之处,但针对的对象是不同的,位运算是对二进制数之间的运算,而逻辑运算是bool型之间的运算。下面我们开始讲位运算:
1、与运算:
只有同为1才取1,逻辑运算则是同true才true;
Pascal:and;
C++:&(逻辑运算则是&&);
举例:
3&5=011&101=001=1;
因此,判断某个二进制数某一位是否为1,只需将这个数与当且仅当对应位为1的一个二进制数进行与运算,为0则0,否则为1;
2、或运算
有1则取1,逻辑运算对应有true则true;
Pascal:or;
C++:|(逻辑运算则是||);
举例:
3|5=011|101=111=7;
因此,把某个二进制数某一位改成1,只需将这个数与当且仅当对应位为1的一个二进制数进行或运算;
3、异或运算:
相同取0,相反取1;
Pascal:xor;
C++:^;
举例:
3^5=011^101=110=6;
因此,异或可以比较两数是否相同或对一个数某些位进行翻转。
4、移位:
C++:
k<<i表示将k左移i位,k>>i表示将k右移i位;
如:1<<2=001<<2=100=4;100>>2=1;
4可以配合1、2,快速修改判断二进制的某一位。
阅读全文
0 0
- 位运算(基础篇)
- 位运算基础:入门
- java 位运算基础
- 位运算符基础
- Java基础: 位运算 << >> >>>
- 基础位运算。
- Java基础 位运算
- 位运算基础
- 基础—位运算例
- 位运算符 -- 基础篇
- __15__C#基础的位运算
- java基础 位运算符 >> <<
- java之位运算基础
- 位运算(1)-- 基础
- 【基础算法】位运算-基本运算
- java 位运算与运算基础
- 【基础算法】位运算-基础篇
- [短码基础] 神奇的位运算
- HBuilder 连接 安卓模拟器 调试
- Android 使用mediaplayer播放res/raw文件夹中的音乐的实例
- ctags使用详解
- jquery自己实现tab效果
- C语言:全局变量在多个文件中的使用方法
- 位运算基础
- 借助国内镜像库安装docker镜像
- JS 大坑 之 0.1+0.2 计算精度的问题
- tinyxml和tinyxml
- mac 相对布局
- macaca
- 颜色设置值
- SpringBoot
- NC57在前台,如何通过表头VO得到表体VO或者聚合的也行?