java实现8、10、16、2进制之间的相互转换(简单易懂实用快速)

今天在练习算法题的时候遇到了进制之间的转化,如果通过深究原理的方式来写代码的话是非常费时费力的,下面我来介绍一下java已经继承好的进制转换的方法,如果大家有精力的话最好去看一下源码

1.二进制与其他进制的转换

二进制转换为十六进制

 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 二进制转换为十六进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class BinaryStringToHexString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String er = scanner.next();
		String shiliu = Integer.toHexString(Integer.parseInt(er, 2));
		System.out.println("二进制"+er+"转换为十六进制为:"+shiliu);
		scanner.close();
	} 
}

10001
二进制10001转换为十六进制为:11

二进制转换为十进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 二进制转换为十进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class BinaryStringToInt {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String shiliu = scanner.next();
		int shi = Integer.parseInt(shiliu, 2);
		System.out.println("二进制"+shiliu+"转换为十进制为:"+shi);
		scanner.close();
	} 
}

10001
二进制10001转换为十进制为:17

二进制转换为八进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 二进制转换为八进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class BinaryStringToOctalString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String er = scanner.next();
		String ba = Integer.toOctalString(Integer.parseInt(er, 2));
		System.out.println("二进制"+er+"转换为八进制为:"+ba);
		scanner.close();
	} 
}

10001
二进制10001转换为八进制为:21

2.十六进制与其他进制的转换

十六进制转换为二进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 十六进制转换为二进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class HexStringToBinary {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String shiliu = scanner.next();
		String er = Integer.toBinaryString(Integer.parseInt(shiliu, 16));
		System.out.println("十六进制"+shiliu+"转换为二进制为:"+er);
		scanner.close();
	} 
}

十六进制f转换为二进制为:1111

十六进制转换为十进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 十六进制转换为十进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class HexStringToInt {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String shiliu = scanner.next();
		int shi = Integer.parseInt(shiliu, 16);
		System.out.println("十六进制"+shiliu+"转换为十进制为:"+shi);
		scanner.close();
	} 
}

f
十六进制f转换为十进制为:15

十六进制转换为八进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 十六进制转换为八进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class HexStringToOctalString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String shiliu = scanner.next();
		String ba = Integer.toOctalString(Integer.parseInt(shiliu, 16));
		System.out.println("十六进制"+shiliu+"转换为八进制为:"+ba);
		scanner.close();
	} 
}

f
十六进制f转换为八进制为:17

3.十进制与其他进制的转换

十进制转换为二进制

/**   
 * @title: toHexString.java 
 * @package practicelanqiao 
 * @description: 十进制转换为二进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午8:41:06 
 * @version: V1.0   
 */
public class IntToBinary {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int shi = scanner.nextInt();
		String er = Integer.toBinaryString(shi);
		System.out.println("十进制"+shi+"转换为二进制为:"+er);
		scanner.close();
	} 
}

12
十进制12转换为二进制为:1100

十进制转换为十六进制

 
/**   
 * @title: toHexString.java 
 * @package practicelanqiao 
 * @description: 十进制转换为十六进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午8:41:06 
 * @version: V1.0   
 */
public class IntToHexString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int shi = scanner.nextInt();
		String shiliu = Integer.toHexString(shi);
		System.out.println("十进制"+shi+"转换为十六进制为:"+shiliu);
		scanner.close();
	} 
}

12
十进制12转换为十六进制为:c

十进制转换为八进制

/**   
 * @title: toHexString.java 
 * @package practicelanqiao 
 * @description: 十进制转换为八进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午8:41:06 
 * @version: V1.0   
 */
public class IntToOctalString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int shi = scanner.nextInt();
		String ba = Integer.toOctalString(shi);
		System.out.println("十进制"+shi+"转换为八进制为:"+ba);
		scanner.close();
	} 
}

12
十进制12转换为八进制为:14

4.八进制与其他进制的转换

八进制转换为二进制

/**   
 * @title: toHexString.java 
 * @package practicelanqiao 
 * @description: 八进制转换为二进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午8:41:06 
 * @version: V1.0   
 */
public class OctalStringToBinary {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String ba = scanner.next();
		String er = Integer.toBinaryString(Integer.parseInt(ba,8));
		System.out.println("八进制"+ba+"转换为二进制为:"+er);
		scanner.close();
	} 
}

123
八进制123转换为二进制为:1010011

八进制转换为十六进制

/**   
 * @title: OctalStringToHexString.java 
 * @package jinzhizhuanhuan 
 * @description: 八进制转换为十六进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午8:48:56 
 * @version: V1.0   
 */
public class OctalStringToHexString {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String ba = scanner.next();
		String shiliu = Integer.toHexString(Integer.parseInt(ba, 8));
		System.out.println("八进制"+ba+"转换为十六进制为:"+shiliu);
		scanner.close();
		
	}
}

123
八进制123转换为十六进制为:53

十六进制转换为十进制

/**   
 * @title: HexStringToInt.java 
 * @package jinzhizhuanhuan 
 * @description: 十六进制转换为十进制
 * @author: 梁树鹏
 * @date: 2019年12月15日 上午9:00:22 
 * @version: V1.0   
 */
public class OctalStringToInt {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		String shiliu = scanner.next();
		int shi = Integer.parseInt(shiliu, 16);//Integer.parseInt(shiliu, 16)-->意思为十六进制的shiliu转化为十进制
		System.out.println("十六进制"+shiliu+"转换为十进制为:"+shi);
		scanner.close();
	} 
}

123
十六进制123转换为十进制为:291

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Arduino 是一种非常流行的开源单片机平台,它可以通过编程实现各种电子项目的控制。在 Arduino 中,当我们需要发送数据时,可以选择使用 16 进制、ASCII 码或 10 进制来表示数据。 首先,让我们来理解一下这三种表示方法的含义: - 16 进制是一种计数系统,它使用 16 个数字(0-9 和 A-F)来表示数值。例如,数字 1016 进制中表示为 A,数字 15 在 16 进制中表示为 F。 - ASCII 码是一种编码标准,它将字符映射到整数。例如,字符 'A' 的 ASCII 码为 65,字符 'a' 的 ASCII 码为 97。 - 10 进制是我们常用的计数系统,使用 0-9 这 10 个数字来表示数值。 在 Arduino 编程中,我们可以使用不同的函数来实现这些表示方法之间转换: - 如果我们需要将一个字符转换为对应的 ASCII 码,可以使用 `int()` 函数。例如,`int('A')` 的结果为 65。 - 如果我们需要将一个 16 进制数字转换10 进制,可以使用 `hex_to_dec()` 函数。例如,`hex_to_dec("A")` 的结果为 10。 - 如果我们需要将一个 10 进制数字转换16 进制,可以使用 `dec_to_hex()` 函数。例如,`dec_to_hex(10)` 的结果为 "A"。 总之,根据不同的情况和需求,我们可以使用 Arduino 中提供的函数来在 16 进制、ASCII 码和 10 进制之间进行转换。这些函数能够帮助我们更方便地处理数据,并在各种电子项目中实现所需的功能。 ### 回答2: Arduino是一种开源的电子原型平台,用户可以通过编程将其用于各种不同的项目。在Arduino中,数字是以二进制表示的。而16进制是一种常用的表示方式,它使用了0-9和A-F这些16个字符来表示数字0-15。这种表示方法更加简洁易懂,特别适用于表示大量的二进制数据。例如,16进制的数字10在Arduino中可以用0x0A表示。 而ASCII码是一种常用的字符编码方式,通过将字符映射到一个唯一的整数来表示。ASCII码中有128个字符,包括英文字母、数字、标点符号等。每个字符都有一个对应的10进制数值,用来表示该字符。例如,字符'A'对应的ASCII码是65,字符'a'对应的ASCII码是97。 在Arduino中,通常需要将字符转换成数字进行处理,这就需要将ASCII码转换成对应的10进制数值。Arduino提供了相关的库函数来进行这个转换。用户只需要调用对应的函数,传入字符作为参数,即可得到对应的10进制数值。同样地,将10进制的数字转换为对应的ASCII码也是类似的,只需要调用相应的库函数即可。 总之,Arduino中的16进制和ASCII码之间转换在编程过程中是常见的操作。开发者可以根据需要选择合适的表示方式,进行相应的转换来满足项目需求。 ### 回答3: Arduino是一种开源的电子原型平台,可以用来制作各种电子项目。在Arduino中,我们可以使用不同的进制来表示数字,包括16进制、ASCII和10进制。 16进制是一种表示数字的方法,它使用0-9和A-F这16个字符来表示数字0-15。在Arduino中,我们可以使用0x开头来表示一个16进制数字。例如,0x10表示16进制的数字16。 ASCII是一种字符编码标准,它将字符映射到整数。在ASCII编码中,每个字符都有一个唯一的整数值与之对应。在Arduino中,我们可以使用ASCII码来表示字符。例如,字符'A'的ASCII码是65。 10进制是我们最常用的数字表示方式,它使用0-9这10个数字来表示数字。在Arduino中,我们可以直接使用数字来表示10进制。例如,10表示数字10。 因此,当我们在Arduino中遇到16进制、ASCII和10进制时,我们可以根据上述的规则来进行理解。通过掌握进制之间转换规则,我们可以更好地理解和操作Arduino中的数字和字符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁同学与Android

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值