六.java查表法(自己编写十转十六进制)

1.查表法:数据之间存在对应关系,通过关系的一方查到另一方。
      当对应关系存在但没有一方是有序编号时,用另一个容器map 。

2.十转十六进制

运用了&15 与>>>4
((char)(temp-10+'A'))//temp>9
((char)(temp+'0'))//temp<=9

/**
10进制转16进制
*/

class demo
{
    public static void main(String[] args)
    {
      int num=60;
      String str_hex=toHex(num);
      System.out.println(str_hex);

    }

    public static String toHex(int num)
    {
     //1.定义一个容器,存的是字符,长度为8,一个整数最多有8个十六进制位。
       char[] arr1=new char[8];
       //2.定义一个用于操纵数组的索引
       int index=arr1.length;
 
 //10转16进制
       while(num!=0)
        {
           int temp = num & 15;//00001111
           if(temp > 9)
               arr1[--index]=((char)(temp-10+'A'));//注意!!!
           else
               arr1[--index ]=((char)(temp+'0'));
           num=num>>>4;
          
        } 
        return "0x"+toString(arr1,index);
    }

    //定义一个功能,将字符数组转成字符串。
    public static String toString(char[] arr ,int index)//从非0的所以index开始
    {
     String str="";
      for(int x=index;x<arr.length;x++)
        {
  str=str+arr[x]; 
        }
        return str; 
    }
}

3.实际上java给我们提供的封装好的方法

toOctalString(int i) // 以八进制返回一个数
toHexString( int i ) // 10转16
toBinaryString(int i)//10转2

4.数组快速排序方法(开发用)

Arrays.sort(arr)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。