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
  • 相关阅读:
    文件操作实例加强
    文件操作的一般基础操作
    列表与if语句的结合
    难题记录
    字典,集合,列表混合使用需注意:
    列表的一些难度操作
    字符串知识巩固
    and与or的用法
    AngularJS中的过滤器
    NodeJS中的静态资源管理服务
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/12101573.html
Copyright © 2011-2022 走看看