首页天道酬勤二进制运算在线(二进制怎么计算方法)

二进制运算在线(二进制怎么计算方法)

admin 12-04 05:04 315次浏览

一、按位与( ) :两位全为1,结果才为1

基本操作: 11=1;10=0;01=0;00=0;

例如

51 5=0011 0011 0000 0101=0000 0001=1

特殊用法:

(1) clear:和0,结果为0;用1,不变

1011 0101 0000 1111=0000 0101//高四位数加0结果为0;低四位加一的结果不变。

(2)取一个数字的指定位。例如,如果取(0101 1011)的高四位数,只需要和(1111 0000)相加即可。

01 1011 1111 0000=0101 0000//保留高四位并清除低四位。

二、按位或(| ) :有一位为1,结果就是1

基本操作: 1 | 1=1;1|0=1;0|1=1;00=0;

例如

51 | 5=0011 0011 | 0000 0101=0011 0111=55

特殊用法:

(1)设置为1:将一些位设置为1。0,不变,或者1,结果是1。

011 0101 | 0000 1111=1011 1111//高四位数或0结果不变;低四位或1都是1(将最后四位设为1)

三、按位异或(^ ) :相同为0,不同为1

基本操作: 1 1=0;1^0=1;0^1=1;0^0=0;

例如

51 ^ 5=0011 0011 ^ 0000 0101=0011 0110=54

特殊用法:

(1)翻转:翻转一些位。异或0,不变,异或1,结果反过来。

011 0101 0000 1111=1011 1010//高四位XOR 0结果不变;低位异或1结果反转

(2)一个数,异或本身等于0。

(3)在两个变量之间交换值的方法:

1.使用第三方变量c=a;a=B;乙=丙

2.用加减法实现A=A B;b=A-B;A=A-B

3.使用异或运算A=A B;b=a^b;A=A^B

四、按位取反(~ ) :1变0,0变1

基本操作: ~ 1=0;~0=1;

例如

~51=~0011 0011=1100 1100=204

00-1010(例如,在Java中,整数是32位,不超过32位的不应该被丢弃)

正数:2 1=0010 1=0100=4 //2左移1位。

1 2=1011 2=0010 1100=44//不超过32位,所以左侧不应该丢弃。

负数:-14 2首先,-14是带符号的整数(正数最高位为0,负数最高位为1),所以-14=(1000 1110)原码=(1111 0001)反码=(1111 0010)补码(关于原码的补码),计算机用补码来表示负数。

-14 2=(1111 0010)增补2=(11 1100 1000)增补=(10 0011 1000)原文=-56

例如

五、按位左移( ) :左移若干位,左边丢弃(超过范围者丢弃),右边补0

正数:4 2=0100 2=0001=1 //正数留0。

负数:-14 2首先,-14是带符号的整数(正数最高位为0,负数最高位为1),所以-14=(1000 1110)原码=(1111 0001)反码=(1111 0010)补码(关于原码的补码),计算机用补码来表示负数。

-14 2=(1111 0010)补充2=(1111 1100)补充=(1000 0100)原文=-4

例如

六、按位右移( ) :右移若干位,正数左补0,负数左补1,右边丢弃

-14 2=1111 1111 1111 1111 1111 1111 1111 0010 2=0011 1111 1111 1111 1111 111 1111 1100=1073741820

Java设计模式之原型模式怎么实现微信小程序开发常用功能有哪些
二进制小数补码(负数二进制的补码公式) redis hmget(redis分布式锁底层原理)
相关内容