Skip to content

rumengruhuanyue/java-operational-character

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 

Repository files navigation

java运算符

进制转换

运算符

十进制转二进制

例:十进制数据124
62 %2= 0
31 %2= 0
15余1 %2= 1
7余1 %2= 1
3余1 %2= 1
1余1 %2= 1
1 %2= 1
注:结果从下往上
结果:1111100

二进制转十进制

例:二进制数据1111100
02^0 + 02^1 + 12^2 + 12^3 + 12^4 + 12^5 + 1*2^6
注:从右到左用二进制没个去乘2的相应次方
结果:0+0+4+8+16+32+64=124

亦或运算

定义:^,针对二进制运算,相同为0,不同为1
例:124二进制:1111100
456二进制:111001000
亦或运算(124^456)
111001000
------------------
001111100
------------------
结果:110110100=02^0 + 02^1 + 12^2 + 02^3 + 12^4 + 12^5 + 02^6 + 12^7 + 1*2^8
=0+0+4+0+16+32+0+128+256
=436

非运算

定义:~,针对二进制运算,取反
例:124二进制:1111100
非运算:(~124)
111001000
------------------
000110111
结果:1+2+4+16+32
=55

与运算

定义:&,针对二进制运算,只要有一个为0,就是0
1234&6等于(0~6)之间的数据与“%”取模结果是一样的。
例:124二进制:1111100
456二进制:111001000
与运算(124&456)
111001000
------------------
001111100
------------------
结果:001001000=12^3+12^6
=8+64
=72

或运算

定义:|,针对二进制运算,只要有一个为1,就是1
例:124二进制:1111100
456二进制:111001000
与运算(124&456)
111001000
------------------
001111100
------------------
结果:111111100
=4+8+16+32+64+128+256
=508

左位运算符乘

定义:<<,针对二进制运算,x<<y,将二进制的数据往左移动y位,后面用0补齐
例:124二进制:1111100
位运算:1111100000
=32+64+128+256+512
结果:=992
int a = 2 << 4; 等于 int a = 2 * 16;

右位运算符除

定义:>>,针对二进制运算,x<<y,将二进制的数据往右移动y位,将后面的两个0移动到前面去
例:124二进制:1111100
位运算:0011111
=1+2+4+8+16
结果:=31
int b = 16 >> 2; 等于 int b = 16 / 4;

About

java 位运算符笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published