数值类型的运算方式总结

本文详细介绍了位运算的基本概念、常用的运算符及其工作原理,包括判断奇偶数、确定幂运算、数的交换、找出无重复数、计算平均值和进行乘除法运算。这些技巧在IT编程中具有高效性和实用性。
摘要由CSDN通过智能技术生成

1、什么是位运算?

             计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整数在内存中的二进制位进行操作,所以执行效率非常高。

2、位运算的运算符

符号描述运算规则
&两个位都为1,结果才为1
|两个位都为0时,才为0;有一个为1,结果为1
^异或两个位相同为0,不同为1
~取反0变1,1变0
<<左移计算指定数值左移n位,乘2的n次方
>>右移计算指定数值右移n位,除以2的n次方

3、常见的位运算使用场景

1)判断奇偶数(&与运算)

运算规则:同时1,结果为1,否则为0

偶数:二进制的最低位是0

奇数:二进制的最低位是1

偶数判断:2的二进制数是0010

奇数判断:3的二进制数是0011

2)判断一个整数n,是否是2的幂

分析:正整数n如果是2的幂,则n的其二进制仅包含一个1

2的二进制:10      4的二进制:100      8的二进制:1000    16的二进制:10000

实现思路:整数n如果为2的n次幂,二进制形式为10、100、1000,10000;则n-1的计算结果,转换为二进制形式为01、011、0111、01111;两者进行与运算,结果必为0。

3)判断一个整数n,是否是4的幂

 分析:如果n是4的幂,那么n一定也是2的幂, 所以,先判断n是否是2的然后,在判断n是否是4的幂, 如果n是4的幂,则n的二进制仅包含一个1,并且一定在偶数位(低位从0开始计算)。
4的二进制:100     16的二进制:10000    64的二进制:1000000     256的二进制:100000000
  实现思路:定义一个整数mask,二进制的偶数位均为0,奇数位均为1,二进制:10101010101010101010101010101010,十六进制:0xaaaaaaaa整数mask与n进行&与运算,如果1出现在偶数位,则计算结果位0。

4)交换两个数(^异或运算,也可以使用中间值)

   5)找出没有重复的数(^异或运算)

分析:两个相同整数进行^异或运算,结果为0

          任何整数与0进行^异或运算,结果为整数本身

实现思路:将n个整数累计^异或,最终结果为仅出现1次的整数

6)求平均值(&与运算和^异或运算)

7)乘除法运算(左移<<或右移>>)

8)计算哈希值

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值