java各字节⼆进制算术和_Java基础---⼆进制常⽤运算
⼆进制常⽤运算
简介:
逻辑变量之间的运算称为逻辑运算。⼆进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“⽆”。这种具有逻辑属性的变量就称为逻辑变量。 计算机的逻辑运算的算术运算的主要区别是:逻辑运算是按位进⾏的,位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(⼜称“或”运算)、逻辑乘法(⼜称“与”运算)和逻辑否定(⼜称“⾮”运算)。此外,“异或”运算也很有⽤。 --摘⾃百度百科
详细介绍:
1.按位与&
两位全为1,结果才为1. 例:0&1=0 1&1=1
作⽤:
1.清零
2.取⼀个数中指定数: 例:X=10101110 取X得低四位。 X&00001111=0000 1110
2.按位或 |
只要有⼀个位1,结果就位1.
作⽤:常⽤来对⼀个数据的某些位 置1.  例:X=00001001 使X低四位为1 X|0000 1111=00001111
3.异或运算^
两个相应位为"异"(值不同),则该位结果为1,否则为0.
作⽤:1.使特定位翻转,⼀个数,对应X要翻转的各位,该数的对应位为1,其余位为0,此数与X对应位 异或即可。
例:X=10101110 使X低四位翻转
X^0000 1111=10100001
2.与0相异或,保留⾃⾝原值。(应⽤在两个变量交换值,效率最⾼)
例:A=A^B,B=A^B,A=A^B 这样A和B的值就交换了。java技术介绍百度百科
4.取反运算~
对⼀个⼆进制数按位取反。~0=1
例:在java中对有符号int型数取反运算。
注:在java中有符号整数都是⽤补码表⽰的。
所以我们还需要了解补码的知识:
原码:⼀个整数按照绝对值⼤⼩转换成的⼆进制数称为原码。
反码:
1.正数的反码与其原码相同;
2.负数的反码是对其原码逐位取反,但符号位除外。
原码10010= 反码11101 (10010,1为符号码,故为负)
(11101) ⼆进制= -2 ⼗进制
补码:
补码表⽰法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
取反⽅法:1.对正数:先对其表⽰的⼆进制取反,得到负数的补码;然后求出反码,最后求出原码。(即为所求数)例:~3
java中int类型的长度是四个字节,也就是32位,so:
00000000 00000000 00000000 00000011
取反:     1...                                        11111100  最⾼位为1,所以这是负数的补码形式。
求出反码: 1 (11111011)
求出原码:  0...                                        00000100  数字为4
之前此数的补码最⾼位为1,所以 ~3=-4
2.对负数:先求负数的补码,然后直接取反。(注意最⾼位1代表负数,0代表整数)。
此篇为复习基础知识所写。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。