`
ybbkd2
  • 浏览: 33264 次
社区版块
存档分类
最新评论

java 十进制与六十二进制

    博客分类:
  • Java
 
阅读更多
import java.util.Stack;


public class Test {
private static char[] charSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();  
	
	/**
	 * 将10进制转化为62进制 
	 * @param number 
	 * @param length 转化成的62进制长度,不足length长度的话高位补0,否则不改变什么
	 * @return
	 */
	public static String _10_to_62(long number, int length){
         Long rest=number;
         Stack<Character> stack=new Stack<Character>();
         StringBuilder result=new StringBuilder(0);
         while(rest!=0){
             stack.add(charSet[new Long((rest-(rest/62)*62)).intValue()]);
             rest=rest/62;
         }
         for(;!stack.isEmpty();){
             result.append(stack.pop());
         }
         int result_length = result.length();
         StringBuilder temp0 = new StringBuilder();
         for(int i = 0; i < length - result_length; i++){
        	 temp0.append('0');
         }
         
         return temp0.toString() + result.toString();

	}
	
	
	/**
	 * 将62进制转换成10进制数
	 * 
	 * @param ident62
	 * @return
	 */
	private static String convertBase62ToDecimal( String ident62 ) {
		int decimal = 0;
		int base = 62;
		int keisu = 0;
		int cnt = 0;

		byte ident[] = ident62.getBytes();
		for ( int i = ident.length - 1; i >= 0; i-- ) {
			int num = 0;
			if ( ident[i] > 48 && ident[i] <= 57 ) {
				num = ident[i] - 48;
			}
			else if ( ident[i] >= 65 && ident[i] <= 90 ) {
				num = ident[i] - 65 + 10;
			}
			else if ( ident[i] >= 97 && ident[i] <= 122 ) {
				num = ident[i] - 97 + 10 + 26;
			}
			keisu = (int) java.lang.Math.pow( (double) base, (double) cnt );
			decimal += num * keisu;
			cnt++;
		}
		return String.format( "%08d", decimal );
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("62System=" +_10_to_62(Integer.parseInt("35174605"), 5));
		System.out.println("10System=" +convertBase62ToDecimal("2NaWL"));
	}
	

}

分享到:
评论

相关推荐

    java十进制转换二进制

    ### Java十进制转换二进制 在计算机科学领域,数据表示和转换是十分重要的基础知识之一。本篇文章将深入解析一个使用Java语言编写的程序,该程序能够将十进制正数和负数转换为二进制形式。通过分析代码逻辑、算法...

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    本篇将详细阐述如何在Java中进行二进制、十进制和十六进制之间的转换,以及字节数组与十六进制字符串的相互转换。 一、进制转换 1. **二进制转十进制**:Java中可以使用`Integer.parseInt()`或`Long.parseLong()`...

    JAVA 十进制数转二进制数

    输入一个整十进制数n,把它转化为二进制,小数部分还没有考虑。。。

    java二进制运算器(加、见、乘、除)

    7. **二进制转换**: 在Java中,我们可以使用Integer.toBinaryString()方法将十进制数转换为二进制字符串,而Integer.parseInt()或Integer.valueOf()可以将二进制字符串转换回十进制数。 8. **实现二进制运算器**: ...

    Java进制转换,十六进制、十进制、二进制

    将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。 由于计算机内部表示数的字节单位都是定长的,以2的幂次...

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

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

    Java把十进制转成二进制(任意进制)的程序

    在Java编程语言中,将十进制数转换为二进制或其他任意进制是一项常见的任务。这主要涉及到数字系统的基础理论以及Java中的字符串处理和数学运算。以下将详细讲解如何实现这一功能。 首先,让我们从最基础的二进制...

    十六进制转十进制。java

    在Java中,有内置的方法可以直接将十六进制字符串转换为十进制整数。这些方法包括`Integer.parseInt()`和`Long.parseLong()`,它们都接受一个字符串作为参数,以及一个表示该字符串所代表的基数的第二个参数。例如,...

    Java实现的进制转换工具类完整示例

    Java实现的进制转换工具类是Java语言中的一种常用工具类,用于实现各种进制之间的转换操作,如二进制、十六进制、字符串、数组等。该工具类主要提供了将字节数组转换为十六进制字符数组或字符串的方法,以及将字符串...

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

    CPU通常使用二进制处理数据,而人类更习惯于十进制,程序员尤其是底层开发者则常使用十六进制。八进制在某些旧的计算机系统和编程语言中也有使用,但相对较少。 在Java中,我们可以使用内置的方法进行各种进制之间...

    JAVA实现十进制整数(正负)转换为二进制输出

    任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码

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

    根据给定的信息,本文将详细解释如何在Java中开发一个简单的程序来实现十进制数向二进制、八进制以及十六进制的转换。 ### Java程序实现十进制转二进制、八进制、十六进制 #### 程序概述 此Java程序的主要功能是...

    Java进制转换方法整理

    一、利用Integer将十进制的数进行进制转换 方法 十进制转换其他进制 使用方法 返回值 10进制转2进制 Integer.toBinaryString(n) 一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符...

    java 十进制 十六进制 互转

    在Java编程语言中,十进制与十六进制之间的转换是一项基本且常用的功能,尤其是在处理颜色代码、网络协议数据或二进制数据时尤为重要。本文将深入探讨如何在Java中实现这两种数字系统间的互相转换,并提供详细的代码...

    java十进制转十六进制

    在Java编程语言中,十进制到十六进制的转换是一项基本操作,它涉及到数字系统的理解和数据类型的应用。转换过程通常使用内置的`Integer.toHexString()`方法。以下是如何在Java中进行这种转换: ```java int decimal...

    十进制实数转换为二进制实数 Java

    刚学Java,老师让座一个实数进制转换的程序,分享出来以供互相学习。

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

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

    十进制与unicode互转

    本资源主要关注的是“十进制与Unicode”之间的转换,这在Java编程中尤其常见,因为Java使用Unicode作为其内部字符集。Unicode是一个包含世界上几乎全部字符的编码标准,而十进制则是我们日常计算中最常用的数制系统...

    java 26进制转换

    通常,我们谈论的进制转换包括二进制、八进制、十进制和十六进制之间的转换。然而,"26进制"通常指的是使用26个字母(A-Z)来表示数值,类似于在十六进制中使用A-F来代表10-15。这种转换方法在处理基于字母的编码...

    [JAVA]二进制字符串转十进制带异常抛出

    在Java编程语言中,将一个表示二进制的字符串转换为十进制数值是一项常见的任务。这个过程可能会遇到一些异常情况,例如输入的字符串不是有效的二进制数字,或者超出了整数类型的范围。本篇文章将详细讲解如何进行...

Global site tag (gtag.js) - Google Analytics