zoukankan      html  css  js  c++  java
  • java 移位运算符

    //----左移,结果为原来的值*(2的n次方),n为运算符右侧的数值
    System.out.println(3<<4);//结果:48

    //-----带符号右移(如果是正数,高位补0,如果是负数,高位补1)
    System.out.println(a>>b);//结果:-4
    //00000000 00000000 00000000 00010000(16) →
    //11111111 11111111 11111111 11101111(反码) →
    //11111111 11111111 11111111 11110000(补码,得到-16) →右移2位 →
    //11111111 11111111 11111111 11111100(高位全补1)
    //11111111 11111111 11111111 11111011(减1) →
    //00000000 00000000 00000000 00000100(取反)(得到4,也就是右移后是-4)

    //-----无符号右移,无论是正数还是负数,高位都补0
    System.out.println(-16>>>2);//结果:1073741820
    //00000000 00000000 00000000 00010000(16) →
    //11111111 11111111 11111111 11101111(反码) →
    //11111111 11111111 11111111 11110000(补码,得到-16) →右移2位 →
    //00111111 11111111 11111111 11111100 →
    //1073741820(十进制)
    System.out.println(Integer.toBinaryString(-16>>>2));//结果:111111111111111111111111111100
  • 相关阅读:
    002.NFS相关配置项
    001.NFS简介
    002.DNS-BIND简介
    001.DNS原理及配置格式
    002.DHCP配置
    001.DHCP简介
    001.Chrony时间服务器
    博客开篇记载!
    【python-opencv】图像梯度
    【python-opencv】形态转换
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/12101573.html
Copyright © 2011-2022 走看看