最近在研究图像识别的时候遇到进制之间的转换,虽然之前也了解基二进制、八进制、十进制、十六进制之间转换的基本原理,但还没有在java里对其进行实现过。于是就对其进行了一翻研究,现将自己学习的总结与大家分享一下。
基本原理
二进制——>十进制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13
八进制——>十进制
1101(8)=1*8^0+0*8^1+1*8^2+1*8^3=1+0+64+512=577
425(8)=5*8^0+2*8^1+4*8^2=5+16+256=277
十六进制——>十进制
1101(16)=1*16^0+0*16^1+1*16^2+1*16^3=1+256+4096=4353
AF(16)=15*16^0+10*16^1=15+160=175
二进制——>八进制
(1100100)2=(001100100)2=(144)8=(9)2
二进制——>十六进制
10001001101010111100110111101111=(89ABCDEF)16
java实现
在java里Integer、Long这两个类里都以下三个方法:
//将i转换成二进制
toBinaryString(longi);
toBinaryString(inti);
//将i转换成十六进制
toHexString(longi);
toHexString(inti);
//将i转换成八进制
toOctalString(longi);
toOctalString(inti);
Example1:
System.out.println(Long.toBinaryString(11));
System.out.println(Long.toOctalString(11));
System.out.println(Long.toHexString(11));
结果如下:
1011
13
B
Integer、Long两个类里都将字符串转换成各种不同进制的方法:
parseInt(Strings,intradix);
parseLong(Strings,intradix);
//s是要被转换的字符串;radix要转换成的进制基数,如2(进制)、8(进制)、16(进制)等,也可以是其它非常见的进制,如7进制,12进制。
如:
Longl=Long.parseLong("111",2);
表示把”111”以2进制的转化成long长整型数
longl=Long.parseLong("ff",16);
表示把”ff”以16进制的转化成long长整型数
Example2:
System.out.println(Long.parseLong("ff", 16));
System.out.println(Long.parseLong("74", 8));
System.out.println(Long.parseLong("111", 2));
结果如下:
255
60
7
此外,BigInteger(大整数)也可以将十进制转换成二进制。
BigInteger(Stringval,intradix);
//表示以字符串val创建一个radix进制的BigInteger对象
toString(intradix)
//将这个大整数以radix进制表示
Example3:
BigInteger bi = new BigInteger("1011", 2);
System.out.println(bi);
System.out.println(bi.toString(8));
System.out.println(bi.toString(16));
结果如下:
11
13
b
分享到:
相关推荐
* 十六进制转换为八进制:先将十六进制数转换为二进制数,再将二进制数转换为八进制数。 五、总结复习 进制数之间的转换是计算机科学中的一种重要概念,每种进制数都有其特定的转换规则和方法。理解和掌握这些规则...
+ 十六进制转换为二进制:每一位十六进制数分别用四位二进制数表示 总结 进制数转换是计算机领域中的一项基础知识,理解进制数之间的转换规则是非常重要的。只有通过掌握这些规则,才能更好地理解和应用计算机的...
"二进制八进制十进制十六进制之间的转换算法" 本文主要讲解了二进制、八进制、十进制、十六进制之间的转换算法。包括十进制与二进制之间的转换、八进制与二进制之间的转换、十六进制与二进制之间的转换等。 十进制...
汇编语言是计算机底层编程的一种语言,它直接对应机器指令,因此对二进制、八进制、十进制和十六进制的理解至关重要。下面我们将详细探讨这些进制及其相互转换。 二进制(Binary)是最基础的数字系统,只包含两个...
- **二进制与八/十六进制转换**:可以通过对应位数的转换规则直接转换。例如,二进制1101转换为八进制是15,转换为十六进制是D。 - **八/十六进制转二进制**:将每个数字转换为相应的二进制表示,然后连接起来。...
该程序允许用户在二进制、八进制、十进制和十六进制之间进行相互转换。接下来,我们将深入探讨不同进制之间的转换方法,并解释程序中的关键部分。 ### 进制基础 首先,我们需要了解什么是进制。进制是一种表示数值...
进制转换器 二进制 八进制 十进制 十六进制
本文将深入探讨二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)这四种常见进制之间的转换方法,帮助你更好地理解和应用这些知识。 一、二进制(Binary) 二进制是计算机语言的...
进制转换、二进制、八进制、十进制、十六进制 Java软件
"二进制、八进制、十进制、十六进制之间的转换算法" 在计算机科学中,数字系统是一种基础的概念,它可以分为四种基本类型:二进制、八进制、十进制和十六进制。这些数字系统之间的转换是计算机科学中一个非常重要的...
例如,当你需要将颜色代码(如HTML颜色代码)从十六进制转换为RGB(十进制)时,或者在网络IP地址(如IPv4)中处理二进制和十进制的转换。进制转换函数在各种编程语言中都是内置的,例如Python的`bin()`, `oct()`, `...
本资源是一个Python编写的进制通用转换类,它提供了将十进制数转换为二进制、八进制、十六进制,以及将十六进制数转换为十进制的功能。这个类对于需要进行进制转换的开发者来说非常有用,因为它简化了进制转换的过程...
二进制(Binary)、八进制(Octal)和十六进制(Hexadecimal)是计算机领域最常用的三种非十进制计数体系,它们与十进制之间的转换是编程基础的一部分。 6.1 为什么需要八进制和十六进制? 在编程中,尽管我们通常...
进制转换主要包括二进制、八进制、十进制和十六进制之间的互相转换。下面我们将详细讨论这些进制转换的方法。 1. 十进制到二进制的转换:使用“短除法”,即将十进制数连续除以2,每次得到的余数从下往上组成二进制...
### 二进制、八进制、十进制、十六进制之间转换详解 #### 一、十进制与二进制之间的转换 ##### (1)十进制转换为二进制 十进制转二进制的过程可以分为处理整数部分和小数部分两步。 **整数部分** 采用“除2...
本工具专注于二进制、八进制、十进制和十六进制之间的转换,这些是计算机系统中最常见的数字表示形式。 二进制(Binary)是计算机语言的基础,它只包含两个数字:0和1。所有的计算机操作,包括存储、处理和传输信息...
本文主要讨论了二进制、八进制、十六进制和十进制之间的转换规则,这对于理解和处理计算机中的数值至关重要。 首先,我们可以用一个公式来转换二进制、八进制和十六进制到十进制。对于任何一种进制,我们都可以将每...
进制转换是计算机科学中的一种基本操作,它涉及到不同进制之间的转换,包括二进制、八进制、十进制和十六进制。下面我们将详细讨论进制转换的算法原理。 一、进制转换的定义 进制转换是指将一个数从一种进制转换为...
在计算机科学领域,数字的表示方式至关重要,其中最常见的有二进制、八进制、十进制和十六进制。这些不同的进制系统各有特点,适用于不同的计算和数据存储场景。"二、八、十、十六进制转换器"是一个方便的工具,能够...