位运算小结(按位与、按位或、按位异或、取反、左移、右移)
2016-01-19 11:23
295 查看
位运算小结(按位与、按位或、按位异或、取反、左移、右移)
位运算不管是在Java语言,还是在C语言中,或者其他语言,都是经常会用到的,所以本文也就不固定以某种语言来举例子了,原始点就从0、1开始。位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>>)这几种,其中除了取反(~)以外,其他的都是二目运算符,即要求运算符左右两侧均有一个运算量。1、补码
在总结按位运算前,有必要先介绍下补码的知识,我们知道当将一个十进制正整数转换为二进制数的时候,只需要通过除2取余的方法即可,但是怎么将一个十进制的负整数转换为二进制数呢?其实,负数是以补码的形式表示,其转换方式,简单的一句话就是:先按正数转换,然后取反加1。
参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当相应位上的数都是1时,该位才取1,否则该为为0。
参加运算的两个数,换算为二进制(0、1)后,进行或运算。只要相应位上存在1,那么该位就取1,均不为1,即为0。
参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当相应位上的数字不相同时,该为才取1,若相同,即为0。
参加运算的两个数,换算为二进制(0、1)后,进行取反运算。每个位上都取相反值,1变成0,0变成1。
参加运算的两个数,换算为二进制(0、1)后,进行左移运算,用来将一个数各二进制位全部向左移动若干位。
7、右移(>>)
参加运算的两个数,换算为二进制(0、1)后,进行右移运算,用来将一个数各二进制位全部向右移动若干位。
转自:http://blogread.cn/it/article/7327?f=wb
相关文章推荐
- 用 Webgoat 撬动地球,看安全测试的引路石!
- stsiLdetroSowTegreM.21
- VS2013自带报表+打印功能
- iPhone 6 Screens Demystified
- python中numpy库matrix和array的融合使用
- Android Volley完全解析(一),初识Volley的基本用法
- 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
- 生成唯一订单号的算法
- 数据库连接池介绍
- JAVA线程join用法
- Linux系统中nc命令的基本用法掌握
- linux下导入、导出mysql数据库命令
- c++ 封装 (上)
- 《iOS Human Interface Guidelines》——In-App Purchase
- 监听静音开关
- JavaScript基础:数据类型的中的那些少见多怪
- 打印org.eclipse.xsd.XSDSchema对象
- 【BZOJ 4016】[FJOI2014]最短路径树问题
- 7个华丽的基于Canvas的HTML5动画
- 关于嵌入式下系统自动kill进程的简单分析