计算机底层之位运算

位运算

概述

位: 英文: bit. 音译:比特. 比特位.也称为二进制位.是计算机存储数据的最小单位.(存储容量的最小单位是字节)

位运算: 计算机中对于二进制数据的计算方式.就是直接对整数在内存中的二进制位进行计算.

分类

位运算通过位运算符来进行.位运算符包括:

符号含义
&(按位与)有0,则结果为0
|(按位或)有1,则结果为1
^(按位异或)相同为0,不同为1
~(按位取反)0变1,1变0
<<(左移)每移动1位,则该数乘以2的1次方
`>>有符号右移每移动1位,则该数除以2的1次方
`>>>无符号右移无论正负,高位均补0

补充:

有符号右移和无符号右移对于正数没区别,对于负数就是,有符号负数右移的时候高位需要补1.表示负数的意思.

示例

//以6,16为例
//6的二进制位数据为: 0000 0110
//16的二进制数据为:  0001 0000
1. 6 & 16 = 0000 0000 = 0
2. 6 | 16 = 0001 0110 = 22
3. 6 ^ 16 = 0001 0110 = 22
4. ~ 6 = 1111 1001() = 1111 1000() = 1000 0111 = -7
	//反 = 补 - 1
	//原 = 反(符号位不变,其余位按位取反)
5. 6 << 2 = 6 * 2 * 2 = 24
6. 6 >> 2 = 6 / 2 / 2 = 1
7. 6 >>> 2 = 6 / 2 / 2 = 1

总结

1.十进制与二进制的转换可采用8421码.

2.正数的源码,反码,补码都是相同的.负数的源码,反码,补码不同,中间要转换.

3.位运算是二进制数据在内存中的计算方式.比较偏底层.面试中可能会问到.当你面试一些大厂或者压工资时可能会让你有意想不到的收获.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值