10进制转16进制,以及10进制转2进制,还有10进制转8进制,这些转换如果按照常规思路的话,会灰常的麻烦。

我们来看一下 10进制转16进制:

假如这里有一个十进制数字:35,我们的需求就是把这个35转成16进制的。

思路:先把35转换成二进制,然后二进制再转换16进制。

代码:

class SearchTable
{ public static void main(String[] args)
{ String[] s = searchTable(35,3,7); /**
*
*for(int i = 0; i< arr.length ; i++)
*{
*
* System.out.println(arr[i]);
*
*}
*/
for(int i = 0; i<8 ; i++)
{ System.out.print(s[i]); } } public static String[] searchTable(int num,int offset,int mask)
{ String[] table = {"","1","2","3","4","5","6","7","8","9","a","b","c","d","e"}; String[] output = new String[8]; int [] arrtemp = new int[8]; for(int i = arrtemp.length-1 ; i>=0 ; i--){ arrtemp[i] = num&mask; num = num>>>offset; output[i] =table[arrtemp[i]]; } return output;
} }

温馨提示,当写程序的时候尽量保证一个量变化否则,会把自己绕进去的。

/**
*反面示例
*/
class SearchTable
{ public static void main(String[] args)
{ String s = searchTable(35,3,7); /**
*
*for(int i = 0; i< arr.length ; i++)
*{
*
* System.out.println(arr[i]);
*
*}
*/
System.out.print(s); } public static String searchTable(int num,int offset,int mask)
{ String[] table = {"","1","2","3","4","5","6","7","8","9","a","b","c","d","e"}; String output = ""; int [] arrtemp = new int[8]; for(int i =0 ; i<arrtemp.length-1 ; i++){ arrtemp[i] = num&mask; num = num>>>offset;
System.out.println("---"+i+"--");
System.out.println(arrtemp[7-i]);
System.out.println(table[arrtemp[i]]);
System.out.println("---"+i+"--end"); output += table[arrtemp[i]]; } return output; } }

  

java学习进制转换之查表法的更多相关文章

  1. C语言:十进制进制转换为其他进制(思想:查表法)

    // //  main.c //  Hex conversion // //  Created by ma c on 15/7/22. //  Copyright (c) 2015年 bjsxt. A ...

  2. Java基础-进制转换

    Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由“0123456789” 这10个数字组成,逢十进一: ...

  3. Java:进制转换

    进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...

  4. 《java版进制转换》

    import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; ...

  5. java高精度进制转换

    POJ1131   由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了.   8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...

  6. Java的进制转换操作(十进制、十六进制、二进制)

    2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...

  7. Java 之进制转换

    //十进制转十六进制 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...

  8. C#,Java,C -循环冗余检验:CRC-16-CCITT查表法

    C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...

  9. java之进制转换

    [转载]晨风�0�5�0�2�0�1�6�6 2014年03月08日 于 爱Java 发表 众所周知.程序世界计算机中采用的是二进制,一个数字可以用任意进制表示.所以看一个数据值的同时.还要观察它的进 ...

随机推荐

  1. UNIX环境高级编程第二版代码笔记

    1. 第一个程序 gcc 1.1.c  /tmp/ccbnJqcB.o: In function `main': 1.1.c:(.text+0x17): undefined reference to ...

  2. media query

    accepted Another useful media feature is device-aspect-ratio. Note that the iPhone 5 does not have a ...

  3. HTTP协议 状态码详解

    http://www.cnblogs.com/TankXiao/archive/2013/01/08/2818542.html

  4. PHP 5.6启动失败failed to open configuration file '/usr/local/php/etc/php-fpm.conf'

    PHP编译安装完毕,启动失败,提示 [-Jun- ::] ERROR: failed to open configuration ) [-Jun- ::] ERROR: failed to load ...

  5. css3购物网站商品文字提示实例

    css3购物网站商品文字提示实例先来看效果图:<ignore_js_op> 当鼠标划过图片时,有着泰迪熊黑色长方形的背景就会出现.来看HTML5+CSS3代码: <!DOCTYPE ...

  6. 关于C#中的DateTime类型的技巧

    * datetime.now.tostring()方法默认的你是无法得到全部的时间的格式的,只能得到日期,得不到具体时间,如果要具体时间,就应该使用 datetime的tostring()重载,dat ...

  7. awk中split函数的用法

    time='12:34:56' echo $time | awk '{split($0,a,":" ); print a[1]}' 12 echo $time | awk '{sp ...

  8. 简单的SqlHelper

    namespace Login { class SqlHelper { //连接数据库的字符串 //static string dataConnection = "server=***-PC ...

  9. 十三、C# 事件

    1.多播委托 2.事件 3.自定义事件   在上一章中,所有委托都只支持单一回调. 然而,一个委托变量可以引用一系列委托,在这一系列委托中,每个委托都顺序指向一个后续的委托, 从而形成了一个委托链,或 ...

  10. 文字超出DIV的边框

    已经给div设置了高宽,但是文字还是会戳出div而不是换行 鼓捣了一下好像是因为这个原因 如果全是 aaaaaaaaaaaaaaaaaaaaa 这样的纯英文,那么测试的时候是不会换行的,因为浏览器认为 ...