java 各字节二进制算术和_Java基础---二进制常用运算

2023-05-16

二进制常用运算

简介:

逻辑变量之间的运算称为逻辑运算。二进制数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的值就交换了。

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代表整数)。

此篇为复习基础知识所写。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 各字节二进制算术和_Java基础---二进制常用运算 的相关文章

随机推荐