1:什么是二进制?

所谓二进制,也就是计算机运算时用的一种算法。二进制只有一和零组成。比方说吧,你上一年级时一定听说过“进位筒”&“数位筒”吧!十进制是个位上满十根小棒就捆成一捆,放进十位筒,十位筒满十捆就捆成一大捆,放进百位筒……二进制也是一样的道理,个位筒上满2根就向十位进一,十位上满两根就向百位进一,百位上满两根……二进制是世界上第一台计算机上用的算法,最古老的计算机里有一个个灯泡,当运算的时候,比如要表达“一”,第一个灯泡会亮起来。要表达“二”,则第一个灯泡熄灭,第二个灯泡就会亮起来。随着科技的发展,二进制已经被“八进制”、“十六进制”取代了。

2:

二进制的运算:

     ①:与运算:& :

        两位全为1,结果才为1;

:51&5 即0011 0011 &0000 0101=0000 0001

特殊用法:

清零:如果想将一个单元清零,即将其全部二进制为0,只需与一个二进制位为0的数值相与;

取一个数值中的指定位:找一个数,对应X要取的位,该数的对应位为1,其余为零,次数与X与运算,即可得到X                                        中指定位;

:设X=10101110,取X的低四位,用X&0000 1111=0000 1110

:|

           只要一个位=为1,结果就为1

即0011 0011 | 0000 0101=0011 0111   

           特殊用法:用来对某些数置为1;

:将X=10100000的低四位置1,用X|0000 1111=1010 1111

 

: ^

不同为1,相同为0;1^1=0;0^0=0;1^0=1;0^1=1

特殊用法:使特定位翻转;

与0异或运算,保留原值;

两个变量交换值的方法;

即101^011=110

即101^110=011

即110^011=101

:~

           0->1;1->0;

 

:<<

将一个运算对象的各二进制位全部左移动若干位,左边的进制位丢弃,右边补0;

即 10->100

:>>

将一个运算对象的各二进制位全部右移动若干位,右边的进制位丢弃,左边补0;

即100>10

>>>

各个位向右移动指定位数,右移后左边空出的用0来填充,右边丢弃

:-4>>>2

         1111011->0011110

 

        ⑧ 反码:原码取反

补码:  反码+1

:原码:00001110  反码:11110001  补码:11110010

            负数就是用补码来表示的,所以知道补码可以求助一个负数,步骤如下:

:先减一,2:取反,3:取负

 

:进制在JDK中的转换

 

十进制转二进制方法:

toBinaryString(int );

十进制转八进制方法:

toOctalString(int);

十进制转十六进制方法:

toHxeString

 

其他进制转十进制方法:

Integer.parseInt(“对应进制数”,int (对应目标进制));

二进制转十进制方法:

Integer.parseInt(“100101”,2);

 

4:java中的进制

小面加个视频,供参考点击看看视频