进制转换(美化版)
2012-04-19 23:24
204 查看
//查表法 class ArrayTest2 { /* 0 1 2 3 4 5 6 7 8 9 A B C D E F == 十六进制中的元素。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 查表法:将所有的元素临时存储起来。建立对应关系 每一次&15后的值作为索引去查建立好的表,就可以找对应的元素。 */ public static void toHex(int num) { System.out.print(num + "的十六进制为:"); char [] chs = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; //定义一个临时容器 char [] arr = new char[8]; int pos = arr.length; while(num != 0) { int temp = num & 15; arr[--pos] = chs[temp]; num = num >>> 4; } for(int x = pos; x < arr.length; x++) { System.out.print(arr[x]); } System.out.println(); } //十进制-->二进制 public static void toBin(int num) { System.out.print(num + "的二进制为:"); //定义二进制表 char [] chs = {'0', '1'}; //定义一个临时存储容器 char [] arr = new char[32]; //定义一个操作数组的指针 int pos = arr.length; while(num != 0) { int temp = num & 1; arr[--pos] = chs[temp]; num = num >>> 1; } for(int x = pos; x < arr.length; x++) { System.out.print(arr[x]); } System.out.println(); } public static void main(String[] args) { toHex(60); toHex(-60); toBin(6); toBin(-6); } }
上机感言:这个程序既可以实现正数的转换还可以实现负数的转换,而上一个则不能实现负数的转换,有些函数可以直接用,比如排序函数,即使你不会排序,你也可以排序,直接调用就可以
相关文章推荐
- 进制转换(一)
- 10 to 64 进制转换
- 进制转换问题
- 进制转换
- Delphi 进制转换——十六进制 to 十进制浮点数
- 进制转换 定点数 原码 补码 浮点数 海明码 循环码 CRC 文字编码
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- 进制转换
- java 进制转换
- 进制转换
- php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
- 超强数值进制转换,纯C代码
- 拥有进制转换(Two's complement,支持负数)功能的My Calculator 1.3完成啦!
- 1311 进制转换
- 进制转换问题
- 超强数值进制转换,纯C代码 .
- 使用栈来实现进制转换
- 练习:进制转换(2012.2.18)
- 杭电hdu 2106 decimal system 进制转换
- shell 进制转换