问答

Java:ConcurrentHashMap 的 initTable 方法末尾的 n - (n >&

作者:admin 2021-05-08 我要评论

n 等于 16,通过 sc = n - (n 2) 将 sc 赋值为 12,请问 n - (n 2) 是什么高端写法?为什么要这么写?请大佬赐教 ### 无符号移位操作 这个就相当于 n-(n/(2^2)) ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

image
n 等于 16,通过 sc = n - (n >>> 2) 将 sc 赋值为 12,请问 n - (n >>> 2) 是什么高端写法?为什么要这么写?请大佬赐教

###

>>> 无符号移位操作 这个就相当于 n-(n/(2^2))

###

n>>>2就是n无符号右移2位, 相当于最后面的小数点左移了2位, 相当于除以了2的2次方;
n>>>5 n缩小了 2的5次方倍:
就是说:
sc = n - n/2^2

    public static void main(String[] args) {
        int sc = 0;
        int n = 16;

        System.out.println("16>>>2 --> " + (16>>>2));

        sc = n - (n>>>2);
        System.out.println("n=16, sc = n - (n>>>2); sc = " + sc);
    }
    
16>>>2 --> 4
n=16, sc = n - (n>>>2); sc = 12

左移整个数往左边走,右面补0, 补一位, 就扩大2倍, 补n位就扩大2的n次方倍; 右移正相反~

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Java:ConcurrentHashMap 的 initTable

    Java:ConcurrentHashMap 的 initTable

  • 如何用java实现如下功能

    如何用java实现如下功能

  • 请教:JSP页面用javascript(ajax)实

    请教:JSP页面用javascript(ajax)实

  • vue cli chainWebpack 使用 imports-lo

    vue cli chainWebpack 使用 imports-lo

腾讯云代理商
海外云服务器