`

十进制转换为二进制、八进制、十六进制(JAVA)

    博客分类:
  • J2SE
 
阅读更多
public class Test {

	final static char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
			'9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
			'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
			'z' };

	public static void main(String[] args) {
		System.out.println(Test.toBinaryString(15));
		System.out.println(Test.toHexString(15));
		System.out.println(Test.toOctalString(15));
	}

	public static String toBinaryString(int i) {
		return toUnsignedString(i, 1);
	}

	public static String toHexString(int i) {
		return toUnsignedString(i, 4);
	}

	public static String toOctalString(int i) {
		return toUnsignedString(i, 3);
	}

	private static String toUnsignedString(int i, int shift) {
		char[] buf = new char[32];    //int转成二进制最多32位,转成其它进制则更少了
		int charPos = 32;     //记录数组下标
		int radix = 1 << shift;   //基数
		int mask = radix - 1;   //掩码,如16进制相当于4位2进制
		do {
			buf[--charPos] = digits[i & mask];   //用掩码逐次转成其它进制
			i >>>= shift;
		} while (i != 0);

		return new String(buf, charPos, (32 - charPos)); //转成字符串
	}
}

   输出结果:

  1111
   f
  17

 

PS:其实是JDK里面的Integer源代码,我把它抽出来做笔试面试用。

分享到:
评论

相关推荐

    进制转换-二进制、八进制、十进制、十六进制

    进制转换、二进制、八进制、十进制、十六进制 Java软件

    Java程序十进制转二进制,八进制,十六进制

    在Java编程语言中,将十进制数转换为二进制、八进制和十六进制是常见的操作,尤其在处理计算机数据表示和计算时。本文将深入探讨这些转换方法。 首先,我们要理解不同进制系统的基础。十进制是我们日常生活最常用的...

    java_十进制数转换为二进制,八进制,十六进制数的算法

    在Java编程语言中,将十进制数转换为二进制、八进制或十六进制是常见的数据处理任务,尤其是在计算机科学与信息技术领域。本文将深入探讨如何使用Java实现这些转换,包括算法原理和具体代码实现。 ### 十进制转二...

    java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docx

    例如,`Integer.toHexString()`可以将十进制整数转换为十六进制字符串,`Integer.toBinaryString()`用于转换为二进制,而`Integer.toOctalString()`则用于转换为八进制。反之,要将其他进制的字符串转换为十进制,...

    java程序实现十进制转二进制,八进制,十六进制

    此Java程序的主要功能是接受用户输入的一个十进制数字,并将其转换为二进制、八进制以及十六进制表示。程序使用了Swing组件库来构建用户界面,并通过`ActionListener`接口处理用户的输入事件。 #### 用户界面设计 ...

    二 八 十 十六进制间的任意转换

    转换二进制到十六进制,同样可以每四位分为一组,然后将每组转换为对应的十六进制数。例如,二进制的101011011001转换为十六进制: 1010 | 1101 | 1001 A | D | 9 所以,二进制的101011011001转换为十六进制是AD9...

    二进制八进制十六进制等进制转换.doc

    - 二进制到十六进制:四位二进制转换为一位十六进制,不足四位的在前面补0。例如,二进制数(1011 0011)转换为十六进制是 BB。 - 十六进制到二进制:每一位十六进制转换为四位二进制。例如,十六进制数 5E 转换为二...

    进制转换器,2进制十进制八进制十六进制之间任意转换

    将十进制转换为二进制,可以使用上述的“除以2取余法”。 进制转换器的应用广泛,不仅限于编程,也用于数学、工程和通信等多个领域。理解不同进制系统间的转换,对于学习和解决涉及数字表示和计算的问题至关重要。...

    读入十六进制txt文件转十进制txt输出

    其中,十进制是我们日常生活中最常使用的,而二进制、八进制和十六进制在计算机领域更为常见,因为它们更方便地表示二进制数据。十六进制用0-9的阿拉伯数字和A-F的字母(代表10-15)来表示二进制的每一位,每四位二...

    将二进制转换为16进制

    在计算机科学中,数据通常以不同的进制表示,如二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)。这些进制之间的转换是理解和操作数字系统的基础。本篇文章将深入探讨二进制与十六...

    java实现各进制之间转换

    // 将十进制转换为八进制 ``` 2. **八进制转二/十/十六进制** 同样的,我们可以先将八进制数转换为十进制,再转换为其他进制。例如,将八进制数"17"转换为十六进制: ```java String octal = "17"; int ...

    Java二,十,八,十六进制转换器

    Java基于界面的二,十,八,十六进制转换工具源代码

    Java进制转换实现

    本文将深入探讨Java中如何进行进制转换,包括二进制、八进制、十进制和十六进制之间的转换。这对于任何对Java感兴趣或者正在学习Java的开发者来说都是必备的知识点。 首先,我们来看一下如何在Java中进行基本的进制...

    Java进制转换方法整理

    十进制转换其他进制 使用方法 返回值 10进制转2进制 Integer.toBinaryString(n) 一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符串 10进制转16进制 Integer.toHexString(n) 一个...

    进制转换器(原创首发)

    本进制转换器用于二进制、八进制、十进制、十六进制之间的整数数值转换。  与常规的转换器不同的是,这个转换器支持一次转换一个或批量转换一组数字,每个数字只需要以TAB、回车、空格、逗号或分号(全半角均可)...

    JAVA中的进制转换

    本文将深入探讨Java中不同进制之间的转换,包括二进制、八进制、十进制和十六进制。 首先,我们要理解什么是进制。进制是数字系统的基础,它规定了数字的位值和数值的表示方式。比如,我们日常生活中的计数系统是十...

    四种进制转换

    本代码用JAVA语言编写,实现了十进制,二进制,十六进制和八进制的转换

    用java程序实现各进制转换

    在本文中,我们将讨论如何使用Java实现各进制转换,包括十进制到二进制、八进制和十六进制的转换。 在Java中,我们可以使用Integer类提供的方法来实现进制转换。Integer类提供了多种方法来将十进制数转换为其他进制...

    Java编写的进制转换程序

    在编程领域,进制转换是一项基础且重要的技能,尤其是在处理二进制、八进制、十进制和十六进制等不同数值系统时。Java语言提供了丰富的API来支持这些转换,使得开发者能够轻松地在各种进制间进行切换。本项目就是一...

    基于java实现的二进制、八进制、十进制、十六进制的转换

    在Java中,我们经常需要将不同进制的数值相互转换,例如二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)。下面将详细阐述如何使用Java实现这些进制之间的转换,并结合...

Global site tag (gtag.js) - Google Analytics