已经很久没有写博客了,已经有很多人不止一次的反问我:“你怎么不写博客了?”,我只好沉默!有些事情,我必须做,但我的时间总有限。有些痛,我们必须经历;有些苦,我们必须品尝。只有经历过,才有发言权!人越往上层走,社会对于你的要求就越多。尤其是在中国,人口众多,各方面压力都很大,各种竞争条件都会变得很苛刻。这是国际社会潜规则,更是中国社会的潜规则。
言归正传,整理一下我研究Java API有关进制转换的内容。
Java API没有提供完整的进制转换实现,只有浅显的由整型和长整型基本数据类型转换为二进制、八进制、十六进制字符串,以及将字符串反转为整型或长整型数据。
我们来看一下相关测试代码:
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));
}
观察控制台输出:
引用
原始数据:2010
==========整型——二进制转换==========
二进制:11111011010
十进制:2010
==========整型——八进制转换==========
八进制:3732
十进制:2010
==========整型——十六进进制转换==========
十六进制:7da
十进制:2010
原始数据:2010
==========长整型——二进制转换==========
二进制:11111011010
十进制:2010
==========长整型——八进制转换==========
八进制:3732
十进制:2010
==========长整型——十六进进制转换==========
十六进制:7da
十进制:2010
对于整型,长整型的字符串与数字之间的转换,上述方式完全可以满足需求。但是如果需要数字以其他进制转换为字节数组就没有现成的解决方案了。稍后有待研究,有具体方案后,我在整理到博客中!~
public static String toHex(byte[] digest) {
StringBuilder sb = new StringBuilder();
for (int i : digest) {
sb.append(Integer.toHexString(i & 0xFF));
}
return sb.toString();
}
分享到:
相关推荐
在编程领域,尤其是在嵌入式系统和通讯领域,数据类型的进制转换是一项基本且重要的技能。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司开发的一种图形化编程语言,广泛应用于...
在C语言中实现进制转换时,我们还需要注意处理边界条件、溢出问题以及数据类型的选择。例如,使用`long long`类型可以处理大整数,但可能导致性能下降。此外,字符串处理也是进制转换中常见的部分,如处理前导零、...
数据二进制转换器是一种非常实用的工具,它主要用于将我们日常生活中常用的数据类型转换为二进制形式。在计算机科学和信息技术领域,二进制是所有计算的基础,因为计算机内部只能理解和处理二进制数据,即由0和1组成...
通过本次实验,学生能够深入理解栈这一抽象数据类型的特点和应用,并掌握栈的基本操作方法。 #### 核心知识点 1. **栈的概念与特性** - 栈是一种特殊的线性表,只允许在一端进行插入和删除操作。 - 栈的操作遵循...
“计算机数据类型16进制值转换器”: 本程序是由于自己需要而写的(QQ:401072489), 用于各计算机数据类型与16进制的内存数据格式直接的相互转换,大家要是需要就拿去用吧: 1.数据类型 TO HEX: 选择数据类型及符号...
从提供的文件信息中,我们可以提取以下知识点: 1. Java程序的运行环境...通过这些详细知识点,我们可以充分理解Java基础中的数据类型、进制转换、以及与之相关的概念。这对于深入学习Java编程语言是非常有帮助的。
* 在使用十六进制时,需要注意数据类型问题,需要指定正确的数据类型。 Java实现的进制转换工具类可以广泛应用于各种场景,如数据加密、颜色表示、IP地址表示等。在使用该工具类时,需要根据实际情况选择合适的方法...
首先,我们需要理解基本的进制转换原理。任何数字都可以表示为基数(base)的幂次之和。例如,十进制数123可以写成1 * 10^2 + 2 * 10^1 + 3 * 10^0。在转换到其他进制时,我们重复将数字除以目标基数,直到商为0,...
- `进制转换Doc.cpp`和`进制转换View.cpp`:通常与MFC的文档/视图架构有关,处理数据模型和用户界面之间的交互。 - `MainFrm.cpp`:主框架窗口类的实现,可能包含菜单和工具栏的设置。 - `pch.cpp`:预编译头文件...
【C#进制转换器】是一个使用Visual Studio 2012开发的桌面应用程序,它主要功能是实现不同进制之间的转换。这个项目是作者为了锻炼自己对C#控件的掌握而创建的,虽然在处理较大位数的转换时可能会出现溢出问题,但...
在编程领域,尤其是在C#语言中,十六进制(Hexadecimal)转换是一个常见的操作,它涉及到数字、字符串以及颜色代码等不同数据类型的相互转化。十六进制是一种逢16进1的进位制,通常用0-9和A-F这16个字符表示。在...
进制转换的基本原理是基于各个进制的基数,比如二进制(基数为2)、八进制(基数为8)、十进制(基数为10)和十六进制(基数为16)。从一种进制转换到另一种进制,通常涉及乘法和除法操作,以及对余数的处理。在C++...
在这个项目中,开发者可能使用了C++的基础语法和数据类型来实现不同进制间的转换。例如,整型变量可以用来存储各种进制的数值,字符串则用于表示二进制形式的数字。C++的模板和函数库也可能被充分利用,以实现高效、...
在“易语言进制转换模块”中,我们主要探讨的是关于不同进制之间的转换,这对于理解和处理计算机数据是至关重要的,因为计算机内部是以二进制形式存储和处理信息的。 进制转换是指将一个数从一种进制表示转化为另一...
总结来说,C#提供了丰富的进制转换和位运算功能,这使得开发者能够灵活地处理数字,进行低级别的数据操作。理解并熟练运用这些功能对于编写高效且精确的代码至关重要。在实际编程中,这些工具可以应用于各种场景,...
在C语言中,实现进制转换函数需要两个参数:要转换的进制数和标示参数的进制类型。函数的主要逻辑是将输入的进制数转换为十进制数,输出结果。 函数的定义 ---------------- ```c #include #include #include ...
进制转换是计算机科学中的基本概念,用于在不同的数值系统之间转换数字。在这个"进制转换器源码"中,我们可以看到一个程序,它能够处理从二进制(Binary)到三十六进制(Hexavigesimal)之间的数字转换。下面我们将...
在易语言中实现36进制转换,需要理解易语言的基本语法和数据类型,尤其是字符串和数值的处理。 1. **数值与字符串的转换**: - 在易语言中,数值与字符串之间的转换通常通过内置的函数来完成。例如,`整数`函数...
“计算机数据类型16进制值转换器”: 本程序是由于自己需要而写的(QQ:401072489), 用于各计算机数据类型与16进制的内存数据格式直接的相互转换,大家要是需要就拿去用吧: 1.数据类型 TO HEX: 选择数据类型及...