Ⅰ java当中的 >>> 这个运算符有什么用啊
这个运算符是位运算符,,在实际开发中很少用,,你记得就行,,,也就是把十进制的数字换成2进制的再移位补0等,,,,几乎没有用!
Ⅱ Java中位运算符的具体应用是什么,在实际编程中有什么作用
位逻辑运算符有“与”(AND)、“或”(OR)、“异或(XOR)”、“非(NOT)”,分别用“&”、“|”、“^”、“~”表示。
下面的例子说明了位逻辑运算符:
// Demonstrate the bitwise logical operators.
class BitLogic {
public static void main(String args[]) {
String binary[] = {
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
};
int a = 3; // 0 + 2 + 1 or 0011 in binary
int b = 6; // 4 + 2 + 0 or 0110 in binary
int c = a | b;
int d = a & b;
int e = a ^ b;
int f = (~a & b) | (a & ~b);
int g = ~a & 0x0f;
System.out.println(" a = " + binary[a]);
System.out.println(" b = " + binary[b]);
System.out.println(" a|b = " + binary[c]);
System.out.println(" a&b = " + binary[d]);
System.out.println(" a^b = " + binary[e]);
System.out.println("~a&b|a&~b = " + binary[f]);
System.out.println(" ~a = " + binary[g]);
}
}
在本例中,变量a与b对应位的组合代表了二进制数所有的 4 种组合模式:0-0,0-1,1-0,和1-1。“|”运算符和“&”运算符分别对变量a与b各个对应位的运算得到了变量c和变量d的值。对变量e和f的赋值说明了“^”运算符的功能。字符串数组binary代表了0到15对应的二进制的值。在本例中,数组各元素的排列顺序显示了变量对应值的二进制代码。数组之所以这样构造是因为变量的值n对应的二进制代码可以被正确的存储在数组对应元素binary[n]中。例如变量a的值为3,则它的二进制代码对应地存储在数组元素binary[3]中。~a的值与数字0x0f (对应二进制为0000 1111)进行按位与运算的目的是减小~a的值,保证变量g的结果小于16。因此该程序的运行结果可以用数组binary对应的元素来表示。
Ⅲ java里,位运算符(&)什么情况下用啊
按位与 是二进制基础上的运算
首先楼主要知道 二进制下 0&1=0 1&1=1 0&0=0
下面就简单了 举例 7&13
首先把两个数转换成2进制数 (本来int应该是32位的,但是我就不写那么多了!就写4位 意思意思吧)
分别为 0111
1101
之后 按位进行与运算 那么结果为 0101 转换成十进制数 则为5
楼主可以拿复杂点的数来验证!
一般的程序很少用到按位与(&)
当做逻辑与(&)的情况还是有些的
用的最多的是短路与(&&)
Ⅳ java位运算符<<和>>还有>>>怎么用
左移<<
右移>> 和>>>
二进制的数,其中,对于>>>无论整数还是负数,最高位都补0
就这个区别而已,
还有一个结论是移动了n就相当于左移(乘)、右移(除)2的n次幂
比如:
16>>3等效于16除2的3次方,
Ⅳ java位移运算符有什么意义
给你举个例子,乘除法可以使用位运算,速度更快。很多底层的东西是用位运算去内实现的,你去看容看java的很多源码,还有IO流的处理有时候会用位运算,二进制文件的读写解析等都需要位运算,如果你了解底层的东西,你会位运算,这回让你的程序生涯更加精彩,望采纳,谢谢
Ⅵ 【JAVA】请问位运算符在实际中具体到底有哪些实际用处
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算).
位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除 ~ 以外,其余均为二元运算符。
操作数只能为整型和字符型数据。
3.4.1补码
Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。补码的规定如下:
对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。
对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+1=11010110)
用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补码(这也是补码与原码和反码的区别)。
3.4.2按位取反运算符~
~ 是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。
例如:
0010101
~
1101010
注意,~运算符与-运算符不同,~21≠-21。
3.4.3按位与运算符&
参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。即:
0&0=0,0&1=0,1&0=0,1&1=1
Ⅶ 什么是Java的位运算符
位运算符用来对二进制位进行操作,位
运
算
符
(>>,<<,>>>,&,|,^,~
)
,位运
算
符
中
,除
~
以
外
,其余
均
为
二
元
运
算
符
。
操
作
数
只
能
为
整
型
和字
符
型
数
据
。
比如‘>>’
这个就相当于乘以2.
Ⅷ java 中^位运算符干什么用的或者怎么使用,分是没了希望热心的友友帮助下
是异或操作符,通常用于位运算,比如
1^2=3(即二进制的 01^10)
1^3=2(即二进制的 01^11)
Ⅸ java中的位运算有什么用
一般都是用来加密解密用的
或者说是加强系统安全性
每种语言都有位运算 都提供很多数理逻辑的实现
当然c语言中的位运算功能更多 内存的操作很多时候都用到位运算
Ⅹ java中&位运算符的原理是什么,是怎么运算的,有什么作用
java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
1、
左移运算符
左移运算符<<使指定值的所有位都左移规定的次数。
1)它的通用格式如下所示:
value
<<
num
num
指定要移位值value
移动的位数。
左移的规则只记住一点:丢弃最高位,0补最低位
如果移动的位数超过了该类型
........