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

    class TestExer1{
        public static void main(String[] args){
            int m = 12;
            int n = 5;
            System.out.println("m:" + m + " n:" + n);
            //方法一:提供一个临时变量。
            //int temp = m;
            //       m = n;
            //       n = temp;
            //System.out.println("m:" + m + " n:" + n);
    
            //方法二:当m和n较大时,有可能出现精度损失
            //m = m + n;//m = 12 + 5;
            //n = m - n;//n = 17 - 5;
            //m = m - n;//m = 17- 12
            //System.out.println("m:" + m + " n:" + n);
    
            //方法三:优点:没有上面两种方法的缺点。 缺点:难!
            m = m ^ n;
            n = m ^ n;//(m ^ n) ^ n == m
            m = m ^ n;//(m ^ n) ^ m == n
            System.out.println("m:" + m + " n:" + n);
            
            //问题:
            //60  手动的方式,从控制台输出60的十六进制。
            int i = 61;
            //自动调用Integer类现成的方法
            String binary = Integer.toBinaryString(i);
            
            System.out.println(binary);
    
            String hex = Integer.toHexString(i);//转为16进制
            System.out.println(hex);
            
            /*
            char c = 'a';
            char c1 = (char)(c + 2);
            System.out.println(c1);//c
            */
    
            int j = i & 15;//获取到i的最低4位对应的值。//13
            String k1 = (j <= 9)? j + "" : (char)(j - 10 + 'a') + "";//d 
            //System.out.println(k1);
    
            i = i >> 4;//3
            int z = i & 15;//3
            String k2 = (z <= 9)? z + "" : (char)(z - 10 + 'a') + "";//3
            System.out.println(k2 + k1);//3+d
        }
    }

    输出结果:

    m:12 n:5
    m:5 n:12
    111101
    3d
    3d

  • 相关阅读:
    33. 搜索旋转排序数组
    54. 螺旋矩阵
    46. 全排列
    120. 三角形最小路径和
    338. 比特位计数
    746. 使用最小花费爬楼梯
    spring boot的一些常用注解
    SSM整合Dubbo案例
    一些面试题
    Spring Aop和Spring Ioc(二)
  • 原文地址:https://www.cnblogs.com/wangmengge/p/8630479.html
Copyright © 2011-2022 走看看