欢迎访问宙启技术站
智能推送

Java函数实现二进制转十进制的转换

发布时间:2023-06-20 12:26:32

二进制是一种数值表达方式,只有 0 和 1 两个数字组成。十进制是我们最常用的计数方式,有 0-9 十个数字组成。有时候我们需要将二进制数转换为十进制数来进行计算,Java中提供了多种实现方法。本篇文章将介绍Java函数实现二进制转十进制的转换。

二进制转十进制基本方法

二进制转十进制的基本原理是将二进制数每一位的数值乘以 $2$ 的相应次方数进行累加即可得到转换后的十进制数。

以二进制数 $11010$ 为例,将其转换为十进制数的过程如下:

$11010_b=1*2^4+1*2^3+0*2^2+1*2^1+0*2^0=26_d$

Java函数实现二进制转十进制

在Java中,我们可以使用多种方法实现二进制转十进制的转换。这里列出两种常用的方法。

方法一:Java自带的函数

Java提供了一个自带的函数可以将二进制数直接转换为十进制数,那就是 Integer.parseInt(String s, int radix) 函数。其中,String s 表示待转换的字符串,int radix 表示原数的进制数(这里是二进制)。

下面是该函数的代码实现:

public static int bin2dec(String binStr) {
    return Integer.parseInt(binStr, 2);
}

该函数将传入的二进制字符串直接转换为十进制数,返回转换后的数值。

方法二:手动实现转换方法

手动实现转换方法的思路和基本方法一致,将二进制数的每一位都遍历一遍,将每一位的值乘以 $2$ 的次方数求和即为结果。

下面是该函数的代码实现:

public static int bin2dec(String binStr) {
        int result = 0;
        int len = binStr.length();
        for(int i = 0; i < len; i++) {
            char c = binStr.charAt(i);
            result = result + (int) (Math.pow(2, len - i - 1) * Integer.parseInt(String.valueOf(c)));
        }
        return result;
}

该函数的实现思路如下:

- 首先定义一个变量 result 用于存储最终结果;

- 获取二进制字符串的长度 len,通过 for 循环逐一取出每一位的值;

- 每次循环时,获取当前字符串的第 i 位字符 c,并将该字符转换成对应的数值;

- 将该数值乘以 $2$ 的次方数(即 $2^{len-i-1}$ ),然后进行累加结果;

- 循环结束后,返回结果值 result 。

总结

本文介绍了Java函数实现二进制转十进制的两种方法,分别是使用 Java 自带的函数和手动实现转换方法。这两种方法都很简单,代码量也不大,可以根据实际需要选择更合适的方式进行使用。