黑马程序员-查表发进制转换优化
2012-06-24 22:30
183 查看
---------------------- android培训、java培训、期待与您交流! ----------------------
进制转换在计算机中应用比较频繁,各种不同进制与十进制之间相互需要转换
/*
查表发将所有的元素临时存储起来,建立对应关系
查表法进制转换优化
*/
class TransTest
{
public static void main(String[] args)
{
toBin(60);
toOct(60);
toHex(60);
}
/*
十进制-->二进制
*/
public static void toBin(int num)
{
trans(num,1,1);
}
/*
十进制-->八进制
*/
public static void toOct(int num)
{
trans(num,7,3);
}
/*
十进制-->十六进制
*/
public static void toHex(int num)
{
trans(num,15,4);
}
public static void trans(int num,int base,int offest)
{
if(num==0)//如果num为0,打印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];//创建一个32位的字符数组
int pos = arr.length;
while(num!=0)
{
int temp = num&base;/
arr[--pos] = chs[temp];查表找到索引为temp的字符
num=num>>>offest;//右移对应的位数,继续循环相与。
}
for(int x=pos;x<arr.length;x++)//遍历字符数组
{
System.out.print(arr[x]);
}
System.out.print("\n");
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
进制转换在计算机中应用比较频繁,各种不同进制与十进制之间相互需要转换
/*
查表发将所有的元素临时存储起来,建立对应关系
查表法进制转换优化
*/
class TransTest
{
public static void main(String[] args)
{
toBin(60);
toOct(60);
toHex(60);
}
/*
十进制-->二进制
*/
public static void toBin(int num)
{
trans(num,1,1);
}
/*
十进制-->八进制
*/
public static void toOct(int num)
{
trans(num,7,3);
}
/*
十进制-->十六进制
*/
public static void toHex(int num)
{
trans(num,15,4);
}
public static void trans(int num,int base,int offest)
{
if(num==0)//如果num为0,打印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];//创建一个32位的字符数组
int pos = arr.length;
while(num!=0)
{
int temp = num&base;/
arr[--pos] = chs[temp];查表找到索引为temp的字符
num=num>>>offest;//右移对应的位数,继续循环相与。
}
for(int x=pos;x<arr.length;x++)//遍历字符数组
{
System.out.print(arr[x]);
}
System.out.print("\n");
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员---Java基础之二:进制转换
- 黑马程序员---java学习笔记之面向对象:接口
- 黑马程序员-JAVA基础-正则表达式
- 黑马程序员_java中的多线程
- 黑马程序员-JAVA基础-Java 集合之泛型
- 黑马程序员--字符流与字节流区别
- 黑马程序员--ADO.NET学习之SQL注入漏洞攻击
- 面向程序员的数据库访问性能优化法则
- 面向程序员的数据库访问性能优化法则
- 专题:讲述MySQL索引和优化的故事 PHP 程序员应该看看
- 黑马程序员_学习日记33_winphone7开发_设备开发
- 黑马程序员_GUI编程
- 黑马程序员——多线程原来是这么简单
- 优化——C程序员之终极标靶
- 黑马程序员-java之TreeSet,Comparable,Comparator
- 黑马程序员-----Java概述
- 黑马 程序员——Java基础---流程控制
- 面向程序员的数据库访问性能优化法则
- 面向程序员的数据库访问性能优化法则
- 黑马程序员_10_单列设计模式