zoukankan      html  css  js  c++  java
  • 如何手动实现整型数值60的二进制到十六进制的转换

    		int num=66;
    		System.out.println(Integer.toBinaryString(num));
    		System.out.println(Integer.toHexString(num));
    		
    		int bits=0;
    		int temp=num;
    		while(temp>0){
    			temp/=16;
    			bits++;
    			System.out.println(temp);
    		}		
    		temp = num;
    		String[] result= new String[bits];
    		for(int i=0;i<bits;i++){
    			
    			result[i] = ((temp%16)>9?(char)(temp%16-10+'A')+"":temp%16+"");
    			temp/=16;			
    		}
    		for(int i=0;i<bits;i++){
    			System.out.print(result[bits-1-i]);
    		}
    

     其实是10进制到16进制的转换

    1.首先确定转换成16进制后有几位

    2.根据位数创建String数组

    3.算出每一位对应的16进制表达,存入数组

    4.一次输出数组元素

    
    
    result[i] = ((temp%16)>9?(char)(temp%16-10+'A')+"":temp%16+"");
    

     核心是这行代码,用到知识点:

    >三目运算符

    >基本数据类型的自动转换和强制转换char->int,int->char

    >String类型与基本数据类型用“+”连接时可以自动转换成String类

    >num/16等价于num>>>4

    >num%16等价于num&15

  • 相关阅读:
    1.3.9、通过权重 Weight匹配
    1.3.8、通过RemoteAddr匹配
    1.3.7、通过QueryParam匹配
    1.3.6、通过Path匹配
    1.3.5、通过Method匹配
    1.3.4、通过Host匹配
    css选择器优先级如何计算
    pm2常用命令
    前端微服务 二
    前端微服务
  • 原文地址:https://www.cnblogs.com/annofyf/p/9245073.html
Copyright © 2011-2022 走看看