java学习进制转换之查表法
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学习进制转换之查表法的更多相关文章
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...
- Java基础-进制转换
Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由“0123456789” 这10个数字组成,逢十进一: ...
- Java:进制转换
进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...
- 《java版进制转换》
import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; ...
- java高精度进制转换
POJ1131 由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了. 8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...
- Java的进制转换操作(十进制、十六进制、二进制)
2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...
- Java 之进制转换
//十进制转十六进制 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...
- C#,Java,C -循环冗余检验:CRC-16-CCITT查表法
C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
- java之进制转换
[转载]晨风�0�5�0�2�0�1�6�6 2014年03月08日 于 爱Java 发表 众所周知.程序世界计算机中采用的是二进制,一个数字可以用任意进制表示.所以看一个数据值的同时.还要观察它的进 ...
随机推荐
- 亲测linux6.4 安装
1.bios下点击 u盘 启动进入(两个Flash1.0,都试试) 2.最关键的部分是,不如windows启动 没有linux界面. others(只是把这个修改一下名字为windows7) cent ...
- 解决mybatis使用枚举的转换
解决mybatis使用枚举的转换 >>>>>>>>>>>>>>>>>>>>> ...
- MVC ViewEngine视图引擎解读及autofac的IOC运用实践
MVC 三大特色 Model.View.Control ,这次咱们讲视图引擎ViewEngine 1.首先看看IViewEngine接口的定义 namespace System.Web.Mvc { ...
- android listview 替代品recyclerview详解
安卓v7支持包下的ListView替代品————RecyclerView RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术 ...
- mksquash_lzma-3.2 编译调试记录
今天在编译mksquash_lzma-3.2的时候出现了如下问题: /home/test/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/C ...
- php100视频原始地址列表整理:
php100视频原始地址列表整理: 教程名称 . 1:环境配置与代码调试 2:PHP的数据类型与源码调试 3:常用PHP运算类型介绍与应用 4: PHP条件语句介绍与应用 5:PHP循环语句的介绍与应 ...
- 查看sql语句执行时间/测试sql语句性能
写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的 ...
- node-http-proxy修改响应结果
最近在项目中使用node-http-proxy遇到需要修改代理服务器响应结果需求,该库已提供修改响应格式为html的方案:Harmon,而项目中返回格式统一为json,使用它感觉太笨重了,所以自己写了 ...
- 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码
如果直接用cxf下面的wsdl2java生成https服务调用代码,会报https证书的错误.在你不想导入证书的情况下,可以使用soapUI进行客户端代码的生成,步骤如下: 1.设置CXF,如下图: ...
- java_设计模式_模板方法模式_Template Method Pattern(2016-08-11)
定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤.这里的算法的结构,可以理解为你根据需求设计出来的业务流程.特定的步骤就是指那些 ...