C/C++中的位运算符
--------开始--------
我自己都记不住这是第几次把这几个位运算符搞混了,刚好在刚用过来把这几个位运算符记下来,俗话说的好好记性不如个烂笔头。
运算符:
与 或 非 异或
and , & or , | not , ~ ^
单目运算符:~(按位取反)
双目运算符:<< >> & | ^(左移,右移,按位与,按位或,按位异或)
1)~ 按位取反具有有结合性,其功能为对参与运算的数的各二进制位按位取反。
2)& 其功能为对参与运算的两操作数各对应的二进制位相与。(都为1为1,否则为0)
3) | 其功能为对参与运算的两操作数各对应的二进制位想或。(有1为1,没1为0)
4)^ 其功能为对参与运算的两操作数各对应的二进制位相异或。(同是1为0,都为0为0,有单个1为1) // 1)2)3)4)为逻辑运算符
5)>> 右移运算符其功能为把操作数的各二进制位全部右移若干位。(类似将该数除于2的若干次方倍)
6)<< 左移运算符其功能为把操作数的各二进制位全部左移若干位。(类似将该数乘于2的若干次方倍) // 5)和 6)为移位运算符
移位运算:移位后高位以符号位填充,低位越界后舍弃 且大多数为向下取整。
--------结束--------
C/C++中的位运算符的更多相关文章
- Javascript中的位运算符和技巧
ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数).在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 3 ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...
- 分享:Python中的位运算符
按位运算符是把数字看作二进制来进行计算的.用的不太多,简单了解. 下表中变量 a 为 60,b 为 13二进制格式如下: a = 0011 1100 b = 0000 1101 a&b = 0 ...
- [Java 泥水匠] Java Components 之二:算法篇之项目实践中的位运算符(有你不懂的哦)
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...
- python中的位运算符
按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下,下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ----- ...
- js中的位运算符 ,按位操作符
按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...
- 关于C语言中的位运算符的学习即应用
一.运算符的种类和运算规则: & 与:全1则1,有0则0 | 或:有1则1,全0则0 ^ 异或:相同为0,不同为1 ~ 取反:~是一元运算符,用来对一 ...
- PHP中为位运算符(几乎很少用)
PHP语言里的位运算符&.|.^ .~.〈〈 .〉〉 "&" 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的 ...
- Java中的位运算符
Java提供的位运算符有:左移( << ).右移( >> ) .无符号右移( >>> ) .位与( & ) .位或( | ).位非( ~ ).位异或( ...
- Java中的位运算符 &、|、^、~、<< 和 >>
一.& 按位与运算符 5 & 3 = 1 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 ...
随机推荐
- Twisted web开发教程
最近在网上看到一篇twisted web开发文章,将它实践了一下,twisted 提供基本的url路由 和 控制器,模板与模型需要外部扩展 1.目录浏览 2.get请求 3.url路由 4.接受带参数 ...
- CDR X8图框精确剪裁在哪?
对于CorelDRAW,刚从低版本升级为高版本的同学可能一下子理不清方向,因为在CorelDRAW X8中有很多功能命令做了整改和位置的变化.很多用户反映,CDR中的图框精确剪裁不见了,然而并不是该命 ...
- ubuntu下查看如何配置pycharm
ubuntu中PyCharm的安装与卸载 https://blog.csdn.net/weixin_31484477/article/details/81133590 pycharm ModuleNo ...
- pythonGUI编程——Qt库(1)
1.简单示例实现一个小窗口. PyQt5是一种高级的语言,下面只有几行代码就能显示一个小窗口.底层已经实现了窗口的基本功能. #!/usr/bin/python#coding:utf-8# ...
- linux中的umask命令
转载:http://blog.51cto.com/1123697506/882064 一 权限掩码umask umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不 ...
- django的时间问题
三个时间datetime.datetime.now().datetime.datetime.utcnow()与django.util.timezone.now()的区别 datetime.dateti ...
- 第五节:web爬虫之urllib(一)
一.urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, ...
- 使用 lua 编写 wireshark 协议解析插件
一.平台 操作系统:windows 7 wireshark:1.10.3 lua:5.1 二.准备 lua 语言基本语法,特别是关于表操作和循环 wireshark 文档,包括用户使用文档和开发者文档 ...
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 1
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- redis学习五,redis集群搭建及添加主从节点
redis集群 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 在redis3.0之前,出现了sentinel工具来监控各个Master的状态(可以看上一篇博客).如果Master异 ...