查表法

本文探讨了使用查表法进行十六进制转换的方法,通过数组临时存储和位运算简化了转换过程。重点介绍了如何通过数组定义转换表,并通过位移操作和按位与运算获取十六进制字符。同时,提到了将结果反转输出的方法,虽然在此例中未直接实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//查表法
public class ArrayTest6 {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    toHex(6);
}
/*
 *  0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F ===十六进制中的元素
 *  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15      
 *  查表法:
 *       将所有的元素临时储存起来,建立对应关系
 *       每一次&15 后 的值作为索引去查找建立好的表 就可以找到对应的元素
 *       这样比 -10 + 'A' 简单的多
 *      
 *       这个表怎么建议呢?
 *       可以通过数组的形式来定义
 *       发现终于出结果 但是反着的 想要正过来呢?可以通过StringBuffer reserve() 功能来实现
 *       但还未学习
 * */

public static void toHex(int num)
{   

    char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    //定义一个数组临时容器 
    char[] arr = new char[8];
     for(int x=0;x<8;x++)
     {
         int temp = num & 15;
         System.out.println(chs[temp]);
         arr[x] = chs[temp];

         num =  num >>>4;

     }
     //存储数据的arr数组进行遍历
    for(int x=arr.length-1;x>=0;x--)
    {
        System.out.print(arr[x]+",");
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值