二进制常用知识整理<java>

1、进制转换:

int转二进制:

public static void main(String[] args) {
        int a = 0b100;//0b表示后面的为二进制表示,0开始表示八进制
        System.out.println(a);
        System.out.println(Integer.toBinaryString(a));
        System.out.println(Integer.toString(a, 2));
    }

代码说明:

二进制数在前面加0b

八进制数在前面加0

十进制数正常按十进制填写

十六进制数在前面加0x

二进制转int:

System.out.println(Integer.parseInt("100", 2));//结果为4

long与二进制的相互转换:

同int

2、二进制运算:

异或^:

1、0表示false,1表示true。相同则为false,不同则为true。

2、0^1=1,1^1=0。

3、作用:经常用于做电位转换。想变更某个点的电位,就将其与1做异或运算。

取反~:

public static void main(String[] args) {
        int a = 0b1000;//0b表示后面的为二进制表示,
        System.out.println(~a);//结果为-9
        System.out.println(Integer.toBinaryString(~a));//结果为11111111111111111111111111110111
    }

代码说明:

1、~表示对所有二进制位按位取反。

2、按位取反后再加1就得到了原数的相反数。

3、这里要跟反码、补码的概念区分开:

反码和补码是为了方便负数的二进制运算出现的,规定正数的反码和补码都是其本身,负数的反码是符号位不变按位取反,负数的补码是反码+1。

右移>>和无符号右移>>>:

public static void main(String[] args) {
        int a = -8;//0b表示后面的为二进制表示,
        System.out.println(a>>2);
        System.out.println(Integer.toBinaryString(a));
        System.out.println(Integer.toBinaryString(a>>2));
        System.out.println(Integer.toBinaryString(a>>>2));
        int a1 = 8;//0b表示后面的为二进制表示,
        System.out.println(a1>>1);
        System.out.println(Integer.toBinaryString(a1));
        System.out.println(Integer.toBinaryString(a1>>>2));
//        -2
//        11111111111111111111111111111000
//        11111111111111111111111111111110
//        00111111111111111111111111111110
//        4
//        1000
//        0010
    }

代码说明:

右移:将一个数表示的二进制向右移n位,移出的部分将被抛弃,左侧高位补符号位。例如正数左侧补0,负数左侧补1

无符号右移:将一个数表示的二进制无符号向右移n位,移出的部分将被抛弃,无论是正数,还是负数,左侧高位都补0。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hiker帝国

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值