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. 高效 css 整理

    避免通用规则 请确保规则不以通用类型作为结束! 不要用标签名或 classes 来限制 ID 规则 如果规则的关键选择器为 ID 选择器,则没有必要为规则增加标签名.因为 ID 是唯一的,增加标签只会 ...

  2. CSS盒子模型小剖析

    前段时间刚刚从C/S过度到B/S,提到B/S就不能说CSS,而说起CSS又不能落下盒子模型.在CSS诞生的时候就有了盒子模型的概念,网页中大部分的元素都能构成一个盒子模型,.盒子模型无非就是描述的元素 ...

  3. ZOJ 3903 Ant(公式推导)

    这个公式推导过程是看的这位大牛的http://blog.csdn.net/bigbigship/article/details/49123643 扩展欧几里德求模的逆元方法: #include < ...

  4. Django模型之Meta选项详解

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...

  5. UVA - 11572 Unique Snowflakes

    /* STLsort离散化==T 手工sort离散化==T map在线==T map离线处理c==A 240ms */ #include<cstdio> #include<map&g ...

  6. [Redis] C#中使用redis

    C#中使用redis 首先打开Visual Studio建立一个简单的控制台应用程序,我这里暂时使用的VS2013的版本. 然后通过Nuget进行安装Redis常用组件ServiceStack.Red ...

  7. 【转】Windows环境下.NET 操作Oracle问题

    目前,Windows操作系统可以分成两类,32位和64位(64位也区分x86_64位和Itanium ),同时Oracle客户端也做了同样的区分. 在安装和开发的过程中,经常会遇到一些问题,本文就总结 ...

  8. struts2中方法拦截器(Interceptor)的中的excludeMethods与includeMethods的理解

    http://www.cnblogs.com/langtianya/archive/2013/04/10/3012205.html

  9. iOS如何准确获取通知

    iOS获取通知需要注意以下三个地方iOS 设备收到一条推送(APNs),用户点击推送通知打开应用时,应用程序根据状态不同进行处理需在 AppDelegate 中的以下两个方法中添加代码以获取apn内容 ...

  10. Objective - C 中NSString (字符串)与C中的字符串转换问题

    NSString是一个常用的类,NSString是原生支持unicode C中的字符串 比如char * a = "hello world";  是utf8类型的, char* d ...