进制转换 JAVA

1.十进制-->二进制(方法一)

 1 /*
 2     十进制-->二进制(方法一)
 3 */
 4 class DecToBin1
 5 {
 6     public static void main(String[] args)
 7     {
 8         toBin(6);
 9     }
10
11     public static void toBin(int num)
12     {
13         StringBuffer sb = new StringBuffer();        //容器
14         while(num>0)
15         {
16             sb.append(num%2);                        //append:添加
17             num /= 2;
18         }
19         //System.out.println(sb);                    //反输出
20         System.out.println(sb.reverse());            //正输出
21     }
22 }

2.十进制-->二进制(方法二)

1 class DecToBin2
2 {
3     public static void main(String[] args)
4     {
5         System.out.println(Integer.toBinaryString(6));
6     }
7 }

3.二进制-->十六进制

 1 /*
 2     二进制-->十六进制
 3 */
 4 class BinToHex
 5 {
 6     public static void main(String[] args)
 7     {
 8         toHex(60);
 9     }
10
11     public static void toHex(int num)
12     {
13         StringBuffer sb = new StringBuffer();
14         for(int i=0 ; i<8 ; i++)                            //32字节最多分8组
15         {
16             int temp = num & 15;
17             if(temp>9)
18             {
19                 sb.append((char)(temp-10+‘A‘));
20             }
21             else
22             {
23                 sb.append(temp);
24             }
25             num = num>>>4;
26         }
27         sb = sb.reverse();
28         while(sb.charAt(0)==‘0‘)                            //注意 字符0 ‘0‘
29         {
30             sb.deleteCharAt(0);
31         }
32         System.out.println(sb);
33     }
34 }

/*
查表法:建立一个char数组,将0-F录入,利用角标调用 在建立一个int数组,储存分布结果,最后通过遍历的方法去掉0.
程序略。
*/

4.最终优化(十进制转二进制;十进制转八进制;十进制转十六进制)

 1 class Trans
 2 {
 3     public static void main(String[] args)
 4     {
 5         /*十进制转二进制*/
 6             toBin(60);
 7         /*十进制转八进制*/
 8             toBa(60);
 9         /*十进制转十六进制*/
10             toHex(60);
11     }
12
13     public static void toBin(int num)
14     {
15         trans(num,1,1);
16     }
17
18     public static void toBa(int num)
19     {
20         trans(num,7,3);
21     }
22
23     public static void toHex(int num)
24     {
25         trans(num,15,4);
26     }
27
28     public static void trans(int num,int base,int offset)
29     {
30         char[] chs = {‘0‘,‘1‘,‘2‘,‘3‘,
31                       ‘4‘,‘5‘,‘6‘,‘7‘,
32                       ‘8‘,‘9‘,‘A‘,‘B‘,
33                       ‘C‘,‘D‘,‘E‘,‘F‘};
34         char[] arr = new char[32];
35         int pos = arr.length;
36         while(num!=0)
37         {
38             int temp = num & base;
39             arr[--pos] = chs[temp];
40             num = num >>> offset;
41         }
42         for(int i=pos ; i<arr.length ; i++)
43         {
44             System.out.print(arr[i]);
45         }
46         System.out.println();
47     }
48 }
时间: 2024-10-17 21:46:22

进制转换 JAVA的相关文章

进制转换--Java实现

题目详情 我们通常用的十进制数包含0-9十个数字.假设有一种进制系统包含3种数字,从低到高分别为"oF8",那么从1到9分别表示为F, 8, Fo, FF, F8, 8o, 8F, 88, Foo.给定一种进制的数和两种进制的数字表,请把它从第一种进制转换为第二种进制. 输入格式: 第一行是T表示测测试数据组数.(0<T<=200). 以后T行,每行有3个部分: number number_table1 number_table2 其中number_table1和numbe

Java进制转换

java进制转换java中进行二进制,八进制,十六进制,十进制间进行相互转换 十进制转成十六进制:Integer.toHexString(int i) 十进制转成八进制Integer.toOctalString(int i) 十进制转成二进制Integer.toBinaryString(int i) 十六进制转成十进制Integer.valueOf("FFFF",16).toString() 八进制转成十进制Integer.valueOf("876",8).toSt

01、Java基础语法(常量、进制转换、原/反/补码、变量和数据类型)

1.常量 2.进制转换 3.原码.反码和补码 4.变量和数据类型 1.常量 常量:在程序执行过程中其值不发生改变. Java中常量的分类: 字面值常量: 自定义常量:(面向对象讲解,static final) 字面值常量的分类: 字符串常量:(用双引号引起来的内容, "HelloWorld") 整数常量:(所有整数,12,23) 字符常量:(用单引号引起来的内容,'A','1','中') 小数常量:(所有小数,3.14) 布尔常量:(只有true和false) 空常量null:(数组部

java 16进制转换10进制

public static String toHexString2(byte[] b) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < b.length; ++i) { buffer.append(toHexString2(b[i])); } return buffer.toString(); } public static String toHexString2(byte b) { char[] buffer =

Java 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换

public static void main(String[] args) { int i = 10; System.out.println("***********10进制转换2进制.8进制.16进制************"); System.out.println(Integer.toBinaryString(i)); // 10转换2进制 System.out.println(Integer.toOctalString(i)); // 10转换8进制 System.out.p

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //

利用java中的BigInteger实现进制转换

[原创] java中的进制BigInteger十分的强大,而且好用,他可以表示任意大的整数,同时还可以进行进制转换,十分的方便, 代码示例: 1 package com.jiajia.demo_1; 2 import java.math.BigInteger;//导入该包 3 public class Demo { 4 public static void main(String[] args) { 5 String str = new BigInteger("15", 10).toS

Java的进制转换操作(十进制、十六进制、二进制)

2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. 1.十进制 转 十六进制: 2.十进制 转 二进制 3.十六进制 转 十进制: 4.十六进制 转 二进制: 5.二进制转 十进制: 6.二进制转十六进制: Java的进制转换操作(十进制.十六进制.二进制),布布扣,bubuko.com

java byte 16进制转换

整型转16进制: int devIdInt = Integer.parseInt(devId); String devIdString = Integer.toHexString(devIdInt); 16进制转为字节: byte devBin = (byte) Integer.parseInt(devIdString, 16); byte devBin =Integer.valueOf(devIdString, 16).byteValue(); byte devBin =Byte.parseB