位异或运算符为^,其运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位相同(同时为 0 或同时为 1)时,结果为 0;如果对应的二进制位不相同,结果则为 1。下面是一个使用位异或运算符的表达式。11^7 运算结果为 12,下图所示为其运算过程。
(1)正数的最高位为0,其余各位代表数值本身(二进制数)。 (2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。 2.位运算符 位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运算符(包括>>、<<和>>>)。 1)左移...
publicstaticvoidmain(String[]args){long l=100L;//如果不是最大值 前面都是0 输出的时候就不会有那么长了(所以下面使用最大/最小值示例)System.out.println(Long.toBinaryString(l));//1100100System.out.println(Long.toBinaryString(l).length());//7System.out.println("---");l=Long.MAX_VALUE;...
1.3 位运算在实际应用中的价值 Java中的位运算在很多实际应用中都具有重要的价值。以下是一些常见的应用: 位运算加速算法 位运算常用于加速算法设计,如排序、查找、数据压缩、加密等。通过位运算可以快速得到搜索树的深度、判断一个数是否是2的次幂等。
1.Java支持的位运算符 &:按位与。 |:按位或。 ~:按位非。 ^:按位异或。 <<:左位移运算符。 “>>”:右位移运算符。 <<<:无符号右移运算符。 1)按位与 & 规则总结:只有两个操作数对应位同为1时,结果为1,其余全为0. (或者是只要有一个操作数为0,结果就为0)。
一、啥叫位运算? 位运算就是把数字用二进制表示之后,对每一位上的0或者1的运算。 二、Java 支持的位运算 &:按位与。运算时俩1则1。 | :按位或。运算时有1则1 ~:按位非。二进制每位取反。 ^:按位异或。运算时相同为0,不同为1。 <<:左移运算符。左移n位时,最左面去掉n位,最右边补n个0即可...
4.按位取反(~) 按位取反运算符(~)是将一个数的二进制表示中的0变为1,1变为0。例如,~3的结果为-4。 5.左移(<<) 左移运算符(<<)是将一个数的二进制表示向左移动指定的位数,右侧补0。例如,3 << 2的结果为12。 6.右移(>>) 右移运算符(>>)是将一个数的二进制表示向右移动指定的位数,左侧...
位运算符的运算过程都是基于二进制的补码运算 (1)左移:<< 运算规则:在一定范围内,数据每向左移动一位,相当于原数据*2。(正数、负数都适用)【注意】当左移的位数n超过该数据类型的总位数时,相当于左移(n-总位数)位 3<<4 类似于 3*2的4次幂 => 3*16 => 48 -3<<4 类似于 -3*2...
1. Java支持的位运算符: &:按位与 |:按位或 ~:按位非(Esc下面那个键) ^:按位异或 <<:左位移运算符 >>:有符号右位移运算符 >>>:无符号右位移运算符 因为Java在表示二进制数时采用的是补码(2's complement)的形式,最高位为符号位,即负数为1,非负数为0。