java位运算之简单了解

时间:2023-01-21 14:26:38

1.十进制转化为二进制

将正整数转化为二进制的方法“除2取余,逆序排列”。

2.二进制转化为十进制

表示整数的二进制,第一位为标志位,0代表为正整数,位数从右开始,第一个位数为0,各位位数记作n,取各位的数字(1或者0)*2^n,然后将所有位的运算相加,就得到了十进制。

3.位运算

  • 按位与:运算符&,对应位都是1,结果才是1,否则为0,精度与最高精度一致。按位与的运算结果不会大于参与运算的最小值
  • 按位或:运算符|,对应位都是0,结果才是0,否则为1,精度与最高精度一致。按位或的运算结果不会小于参与运算的最大值
  • 按位取反:运算符~,1转为0,0转化为1。
  • 按位异或:运算符^,对应位相同,结果为0,否则为1,精度与最高精度一致。
  • 移位操作:y<<n相当于y*2n,y>>n相当于y/2n。因为位运算执行速度快,所以在java代码中需要进行除以或者乘以2n运算时,可以采用位运算。

4.位运算的价值

位运算的处理速度快。