java之进制转换

[转载]晨风?0?5?0?2?0?1?6?6 2014年03月08日 于 Java 发表

众所周知、程序世界计算机中采用的是二进制,一个数字可以用任意进制表示。所以看一个数据值的同时。还要观察它的进制、以免造成笑话。

此时。进制之间的转换我也必然需要熟知、做到心中有数。下面就进制转换为大家提供几点参考.

分析:

  1. Java中在声明数字时默认采用的是十进制,可以在数字前加上符号表示数字采用八进制【前面加0(零)】或者十六进制【前面加上0x(零x)】。
  2. Java的整型封装类Integer和Long提供toString(int i,int radix)静态方法,可以将一个任意进制的整数转换为其他进制的整数。
  3. 使用Integer或Long的toBinaryString方法将整数转换为二进制
  4. 使用Integer或Long的toOctalString方法将整数转换为八进制。
  5. 使用Integer或Long的toHexString方法将整数转换为十六进制。
  6. 使用Integer或Long的toString(int i)方法可以将其他进制的整数转换为十进制的整数的字符串表示。

1、Java 关键代码举例

int n1 = 14;
//十进制转成十六进制:
Integer.toHexString(n1);
//十进制转成八进制
Integer.toOctalString(n1);
//十进制转成二进制
Integer.toBinaryString(12);

//十六进制转成十进制
Integer.valueOf("FFFF",16).toString();
//十六进制转成二进制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六进制转成八进制
Integer.toOctalString(Integer.valueOf("FFFF",16));

//八进制转成十进制
Integer.valueOf("576",8).toString();
//八进制转成二进制
Integer.toBinaryString(Integer.valueOf("23",8));
//八进制转成十六进制
Integer.toHexString(Integer.valueOf("23",8));

//二进制转十进制
Integer.valueOf("0101",2).toString();
//二进制转八进制
Integer.toOctalString(Integer.parseInt("0101", 2));
//二进制转十六进制
Integer.toHexString(Integer.parseInt("0101", 2));

2、Java中二、八、十、十六进制之间的转换测试

 private int i = 2010;
 @Test
 public void testInteger() {
 System.err.println();
 System.err.println("原始数据:" + i);
 // 二进制转换
 System.err.println("==========整型——二进制转换==========");
 System.err.println("二进制:" + Integer.toBinaryString(i));
 System.err.println("十进制:"
 + Integer.parseInt(Integer.toBinaryString(i), 2));
 // 八进制转换
 System.err.println("==========整型——八进制转换==========");
 System.err.println("八进制:" + Integer.toOctalString(i));
 System.err.println("十进制:"
 + Integer.parseInt(Integer.toOctalString(i), 8));
 // 十六进制转换
 System.err.println("==========整型——十六进进制转换==========");
 System.err.println("十六进制:" + Integer.toHexString(i));
 System.err.println("十进制:"
 + Integer.parseInt(Integer.toHexString(i), 16));
 }
 @Test
 public void testLong() {
 System.err.println();
 System.err.println("原始数据:" + i);
 // 二进制转换
 System.err.println("==========长整型——二进制转换==========");
 System.err.println("二进制:" + Long.toBinaryString(i));
 System.err.println("十进制:" + Long.parseLong(Long.toBinaryString(i), 2));
 // 八进制转换
 System.err.println("==========长整型——八进制转换==========");
 System.err.println("八进制:" + Long.toOctalString(i));
 System.err.println("十进制:" + Long.parseLong(Long.toOctalString(i), 8));
 // 十六进制转换
 System.err.println("==========长整型——十六进进制转换==========");
 System.err.println("十六进制:" + Long.toHexString(i));
 System.err.println("十进制:" + Long.parseLong(Long.toHexString(i), 16));
 }
时间: 2024-10-09 21:12:54

java之进制转换的相关文章

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的进制转换操作(十进制、十六进制、二进制)

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

Java基础-进制转换

Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由"0123456789" 这10个数字组成,逢十进一: 2>.二进制,由"01" 这2个数字组成,逢二进一,以"0b"开头: 3>.八进制,由"01234567" 这8个数字组成,逢八进一,以数字"0"开头: 4>.十六进制,由"0123

《java版进制转换》

import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; Scanner scan = new Scanner(System.in); System.out.println("请输入一个十进制的整数:"); num = scan.nextInt(); String str_bin = toBinary(num); String str_oct =

JAVA 学习 进制转换

写一个函数trans();    1 能够进行十进制转二进制    2 能够进行十进制转八进制    3 能够进行十进制转十六进制    4 封装函数 代码实现: class ArraryTest { public static void main(String[] args) { int num=60; String str_Bin=toBinary(num); String str_Oct=toOctal(num); String str_Hex=toHex(num); System.out

Java:进制转换

进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于一个十进制的整数而言,Int整型占4个字节,每一个字节为8个bit位,所以整型数据有32位bit.将整型转换为二进制,需要先将基数num=num&1,然后将32位bit右移>>>1位,直到num!=0条件不满足即可 将整型转换为八进制,需要先将基数num=num&7,然后将3

java高精度进制转换

POJ1131   由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了.   8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以直接定位到小数点后一位,采用此方法进行计算. 1 import java.util.*; 2 import java.math.*; 3 4 public class Main 5 { 6 public static void main(String []args) 7 { 8 Scanner ci

Java里进制转换(二进制、八进制、十进制、十六进制)

// 十进制转其它进制(二进制,八进制,十六进制) int k = 17; System.out.println(Integer.toBinaryString(k));// 转二进制 System.out.println(Integer.toOctalString(k));// 转八进制 System.out.println(Integer.toHexString(k));// 转十六进制 // 结果 // 10001 // 21 // 11 // 其它进制转十进制 System.out.pri

进制转换--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