栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据结构算法【1】位运算

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构算法【1】位运算

在Java代码中一个数看起来是十进制,其实底层都是 2进制的数 。

int 整形是 32位的 二进制数。 Long 类型是64位的。

打印一个 int 整形数字, 32位的二进制数如下 :

  public static void main(String[] args) {

        int a = 3;
        print(a);

    }

    public static void print(int num ){
        for(int i =31 ; i >= 0 ; i--){
            System.out.print((num & (1 << i )) == 0 ? "0" : "1");
        }
        System.out.println();
    }


结果:
00000000000000000000000000000011   

1:00000000000000000000000000000001
2:00000000000000000000000000000010
3: 00000000000000000000000000000011
4: 00000000000000000000000000000100


这就是一个32位的二进制数,
从 0 ~ 31 位。从右侧开始是0,到最左侧是第31位。分别对应 2⁰ ~ 2³¹ 。
如果该位置位1,则计算;为0,则不计算

   

 

首先解释下代码含义 

&两个位都为1时,结果才为1 
<<左移各二进位全部左移若干位,高位丢弃,低位补0
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号