Java中进制转换
2012-12-19 19:26
183 查看
package study.array;
public class Trans {
public static void main(String[] args){
// toHex(-45);
toBinary(-6);
toOctal(26);
//java中的进制转换
System.out.println(Integer.toBinaryString(-6));
}
//十六进制
public static void toHex(int num){
trans(num,15,4);
}
//二进制
public static void toBinary(int num){
trans(num,1,1);
}
//八进制
public static void toOctal(int num){
trans(num,7,3);
}
public static void trans(int num,int base,int offset){
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];
//pos 临时容器的角标
int pos=arr.length;
while(num!=0){
int temp=num & base;
//通过将角标查表 查到后存入数组
arr[--pos]=chs[temp];
num=num>>>offset;
}
public class Trans {
public static void main(String[] args){
// toHex(-45);
toBinary(-6);
toOctal(26);
//java中的进制转换
System.out.println(Integer.toBinaryString(-6));
}
//十六进制
public static void toHex(int num){
trans(num,15,4);
}
//二进制
public static void toBinary(int num){
trans(num,1,1);
}
//八进制
public static void toOctal(int num){
trans(num,7,3);
}
public static void trans(int num,int base,int offset){
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];
//pos 临时容器的角标
int pos=arr.length;
while(num!=0){
int temp=num & base;
//通过将角标查表 查到后存入数组
arr[--pos]=chs[temp];
num=num>>>offset;
}
System.out.println("pos="+pos);
for (int i = pos; i <arr.length; i++) {
System.out.print(arr[i]);
}
System.out.println();
}
}
相关文章推荐
- java 进制转换实例详解
- java 进制转换
- JAVA开发之 19-进制转换
- JAVA学习代码——进制转换
- java、计算机进制转换,二进制 十进制 十六进制 的进制等等!
- Java 语言基础之计算机的进制转换
- java进制转换
- 【JAVA核心技术】进制转换
- java 进制转换
- Java中的进制转换
- [置顶] Java中常用进制转换
- java高精度进制转换
- Java变量与进制转换
- Java中的时间与字符串互转、字符串与Ascii互转、进制转换等
- java进制转换
- java 进制转换
- JAVA 进制转换
- 黑马程序员——Java中基本的进制转换、排序、查找
- java学习小记 输入输出 字符串 函数 高精度 进制转换
- 题目1080:进制转换(2008年清华大学计算机研究生机试真题)ps:用java太简单了