日志12
位运算
●按位与(&):对应二进制位都为1时结果位才为1,常用于取数的某些特定位,比如判断一个整数的最低位是否为1(num & 1),或者把某些位清零(和特定掩码进行按位与操作)。
●按位或(|):对应二进制位只要有一个为1结果位就为1,可用于设置数的某些位为1,比如把整数的某几位设置成1(和相应掩码按位或)。
●按位异或(^):对应二进制位不同时结果位为1,相同为0,常用于交换两个数的值(不借助临时变量,a = a ^ b; b = b ^ a; a = a ^ b;)等,还能对数据进行简单加密解密等操作。
●取反(~):对一个数的所有二进制位取反,常用于一些位操作的逻辑中,比如配合其他位运算实现特定功能。
●左移(<<)和右移(>>):左移是把数的各二进制位向左移动若干位,右边补0,相当于乘以2的相应幂次;右移是把各二进制位向右移动若干位,对于无符号数左边补0,对于有符号数左边补符号位,相当于除以2的相应幂次,常用于快速乘除2的倍数以及对数据的位布局进行调整等场景。
●按位与(&):对应二进制位都为1时结果位才为1,常用于取数的某些特定位,比如判断一个整数的最低位是否为1(num & 1),或者把某些位清零(和特定掩码进行按位与操作)。
●按位或(|):对应二进制位只要有一个为1结果位就为1,可用于设置数的某些位为1,比如把整数的某几位设置成1(和相应掩码按位或)。
●按位异或(^):对应二进制位不同时结果位为1,相同为0,常用于交换两个数的值(不借助临时变量,a = a ^ b; b = b ^ a; a = a ^ b;)等,还能对数据进行简单加密解密等操作。
●取反(~):对一个数的所有二进制位取反,常用于一些位操作的逻辑中,比如配合其他位运算实现特定功能。
●左移(<<)和右移(>>):左移是把数的各二进制位向左移动若干位,右边补0,相当于乘以2的相应幂次;右移是把各二进制位向右移动若干位,对于无符号数左边补0,对于有符号数左边补符号位,相当于除以2的相应幂次,常用于快速乘除2的倍数以及对数据的位布局进行调整等场景。
全部评论
相关推荐
求offer的大角牛:你可以去****上投投看看,牛客大多数是it开发,技术支持,测试类的工作
点赞 评论 收藏
分享