进制转换之查表法

来源:互联网 发布:淘宝抢票卖家靠谱吗 编辑:程序博客网 时间:2024/04/30 01:30
       今天要开始自学Java了,加油!
       从我大学的第一次C语言课开始,老师就总是在反复强调两个词——算法、思想。如今学了java,开发思想会不同,但是对于数据本身的理解,没有太大的差别,毕竟这都是计算机...
       听毕向东老师讲进制的转化,此处主要是讲十进制转二进制、八进制、十六进制三个方法,因为三种方法存在着一定的相同处(思想本身的相同),所以最后提炼出可以公用的代码:

       为了方便大家测试,我还是给敲出来吧:
//num:需要转换的数字,base:转换的进制数减1,offset:偏移量,二进制、八进制、十六进制分别为2,3,4public static void trans(int num,int base,int offset){//若该需要转换的数字为0,跳出if(num==0){System.out.println(0);return;}//生成查表char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//生成用于查表的标记char[] arr=new char[32];int pos = arr.length;//以循环的方式去逐个计算被转换的每一位数据while(num!=0){int temp = num & base;arr[--pos] = chs[temp];num = num>>>offset;}//由于存储时时逆序的,所以打印的时候要从后面开始输出for(int x=pos;x<arr.length;x++){System.out.println(arr[x]);}}

       总的来说这部分就是这样的,如果有什么问题我们可以多交流,我现在谈不上技术能力,但是只要努力我们都会进步的,一起加油吧!

0 0
原创粉丝点击