当前位置:网站首页>位算符详解 按位与、或、异或、取反、左移、右移
位算符详解 按位与、或、异或、取反、左移、右移
2022-08-10 18:12:00 【51CTO】
1.按位与(&)
int a = 3, b = -2 , c = a & b ;
2.按位或(|)
int a = 3, b = -2 ,
3.按位异或(^)
int a = 3, b = -2 , c = a ^ b ;
4.按位取反(~)
int a=18, b = ~ a;
5.左移(<<)
<< :左移 左边最高位丢弃,右边补齐0
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。
左移表达式的的位 result = expression1 << expression2
参数 result,任何变量。
expression1,任何表达式,需要移位的数字。
expression2,任何表达式,移位的次数。
用来将一个数的各二进制位全部左移若干位。例如:
将a的二进制数左移2位,右补0。若a=15,即二进制数00001111,左移2位得00111100,即十进制数60(为简单起见,用8位二进制数表示十进制数15,如果用左移运算符16位二进制数表示,结果是一样的)。
高位左移后溢出,舍弃。
左移一位相当于该数乘以2,左移2位相当于该数乘以2^2=4。上面举的例子15<< 2=60,即乘了4。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。
例如,假设以一个字节(8位)存一个整数,若a为无符号整型变量,则a=64,即二进制数01000000时,左移一位时溢出的de是0。而左移2位时,溢出的高位中包含1,则不符合上述结论。
由下表可以看出,若a的值为64,在左移一位后相当于乘2,左移2位后,值等于256。
简单介绍一种方便计算的方法:
8 << 1的值为8*2=16;
8 << 2的值为8*(2^2)=32;
8 << n的值为8*(2^n)。
数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
6.右移(>>)
>> :右移 最高位是0,左边补齐0;最高为是1,左边补齐1
右移一位相当于除2,右移n位相当于除以2的n次方。
右移有两种:
1、逻辑右移:丢弃最低位,向右移位,左边空出来的位置补0
2、算术右移:丢弃最低位,向右移位,左边空出来的位置补原来的符号位(即补最高位)
边栏推荐
猜你喜欢
入门:人脸专集2 | 人脸关键点检测汇总(文末有相关文章链接)
想玩转监控神器Prometheus吗?
go语言的性能基准测试、性能优化测试和性能调优
Toronto Research Chemicals农药检测丨Naled-d6
【图像去雾】基于颜色衰减先验的图像去雾附matlab代码
[Image segmentation] Image segmentation based on cellular automata with matlab code
[Image dehazing] Image dehazing based on color attenuation prior with matlab code
期货开户手续费加1分已经是常态
2022-08-09 学习笔记 day32-IO流
【快应用】实现自定义导航栏组件
随机推荐
[Image dehazing] Image dehazing based on color attenuation prior with matlab code
「NewSQL技术」Greenplum 6中的OLTP负载性能提升60倍以上
一颗完整意义的LPWAN SOC无线通信芯片——ASR6601
测试接口出现“data“: “Full authentication is required to access this resource“凭证已过期
运维如何学习、自我提升价值?
电路板ROHS测试报告怎么办理?电路板ROHS检测流程
让mixin为项目开发助力【及递归优化新尝试】
设置iptables规则来保护CS服务器
Active users of mobile banking grew rapidly in June, hitting a half-year high
NPDP|传统行业产品经理如何进行能力提升?
企业如何通过北森HR SaaS 自动化管理员工账号生命周期
Kong自定义插件初体验
关于奉加微PHY62xx系列如何选型?PHY6222/PHY6212/PHY6252
Toronto Research Chemicals霉菌毒素分析丨T2 四醇
文档标题能否支持公式
6-12 二叉搜索树的操作集(30分)
「POJ 3666」Making the Grade 题解(两种做法)
记录某博彩网站渗透
Toronto Research Chemicals农药检测丨甲硫威
6-11 Preorder output leaf nodes (15 points)