Java运算符简单理解(&,|,^,~,<<,>>,>>>)-创新互联

Java运算符简单理解
    • 按位与运算:&
    • 按位或运算:|
    • 异或运算:^
    • 左移运算:<<
    • 右移运算:>>
    • 无符号右移运算:>>>

在学习按位与运算之前先了解一下位运算,位运算是将某个十进制数字转化为二进制,然后再根据不同的运算规则进行运算。
例如:
1:0001
5:0101
3:0011
16:10000
32:100000

目前创新互联公司已为成百上千的企业提供了网站建设、域名、网页空间、网站改版维护、企业网站设计、望花网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。按位与运算:&

将数字转化为二进制后进行与操作,对应数字分别与运算;相当于乘法,只有两个1进行计算时结果才为1,其它情况与运算结果都为0。
计算方法:

第一位第二位结果
000
010
100
111

5 & 4 = 0101 & 0100 = 0100 = 4

5:  0 1 0 1
& 
4:  0 1 0 0
=   0 1 0 0

5 & 4 = 4

5 & 3 = 0101 & 0011 = 0001 = 1

5:  0 1 0 1
& 
3:  0 0 1 1
=   0 0 0 1

5 & 3 = 1
按位或运算:|

按位或运算,在运算过程中只要两个数字有任意一个是1,则结果就为1
计算方法:

第一位第二位结果
000
011
101
111

5 | 3 = 0101 | 0011 = 0111 = 7

5:  0 1 0 1
& 
3:  0 0 1 1
=   0 1 1 1

5 & 3 = 7
异或运算:^

异或运算,相同的两个数结果为0,相异结果为1
计算方法:

第一位第二位结果
000
011
101
110
5:  0 1 0 1
& 
3:  0 0 1 1
=   0 1 1 0

5 & 3 = 6
左移运算:<<

左移操作 x<< i 表示 数字x向左移动 i 位,低位补0.
例如:8<< 2 表示将8向左移动2位,底位补0.
计算过程:

8:1 0 0 0
向左移动两位,低位补零 1 0 0 0 0 0 = 32
简单理解:左移就是乘法,x<< i 相当于x * 2 ^ i.
某个值乘以2的i次幂:8 * 2^2 = 32.
右移运算:>>

右移操作x >>i 表示 数字x向右移动 i 位,高位补0.
例如:8 >>2 表示将8向右移动2位,高位补0.
计算过程:

8:1 0 0 0
向右移动两位,高位补零 0 0 1 0
简单理解:右移就是除法,x >>i 相当于x / (2 ^ i).
某个值除以2的i次幂:8 / (2^2) = 2.
无符号右移运算:>>>

无符号右移操作 x >>>i 表示数字x向右移动 i 位,高位补0.
例如:8 >>>2 表示将8向右移动2位,高位补0.
计算过程:

8:1 0 0 0
向右移动两位,高位补零 0 0 1 0
简单理解:右移就是除法,x >>i 相当于x / (2 ^ i).
某个值除以2的i次幂:8 / (2^2) = 2.

细心的同学会发现,右移运算与无符号右移运算结果没有任何区别,计算方法也没有区别。没错!右移运算和无符号右移运算在正数计算过程中相同,它两个的主要区别在于对负数的计算不同,对于负数的运算操作欢迎大家评论区留言。后续我会将负数操作整理。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站题目:Java运算符简单理解(&,|,^,~,<<,>>,>>>)-创新互联
文章源于:http://scjbc.cn/article/ddcjis.html

其他资讯