十六进制转换为十进制的Java程序
题目要求:给定一个十六进制数,编写一个Java程序将其转换为等效的十进制数。十六进制的基值为16,十进制的基值为10。当我们将十六进制转换为十进制时,基值16将变为10。
数字系统分为四种类型:二进制、八进制、十进制和十六进制。基值取决于数字系统中包含的位数。例如,二进制系统只包含两个数字0和1。因此,它的基值为2。
十六进制数系统
它表示从0到9和A到F的数字。它总共有16个数字,其基值也为16。12A16、34B16、45C16是一些十六进制的例子。在计算机中,颜色的代码通常以十六进制形式编写。
假设,我们必须存储一个很大的十进制值,如果我们将其存储在二进制数系统中,则二进制字符串可能会变得非常长。在这种情况下,我们可以使用十六进制数系统,它可以将4位二进制存储为1位。这缩短了位的长度。
十进制数系统
这是最常用的数字系统。它有从0到9的10个数字。因此,其基值为10。如果未提及数字的基值,则认为其为10。单个数字的权重为10的幂,每个数字的权重比前一个数字高10倍。例如,1010、43110、98010等。
十六进制到十进制的转换
给定的十六进制数为(54A)16。要将其转换为十进制,请将每个数字乘以16n-1(其中,n是数字的个数),如下所示:
(54A)16 = 5 * 163-1 + 4 * 162-1 + A * 161-1 = 5 * 162 + 4 * 161 + 10 * 160 = 5 * 256 + 64 + 10 = 1280 + 74 = 1354
使用Integer.parseInt()方法
这是Integer类的静态方法,它根据指定的基值返回十进制值。它位于java.lang包中。
语法
Integer.parseInt("String", base);
其中,
字符串 - 将要转换的值。
基数 - 给定值将根据指定的基数进行转换。
示例
在这个例子中,我们将使用Integer.parseInt()方法将十六进制转换为十进制。
public class Conversion {
public static void main(String args[]) {
// Converting and storing hexadecimal value to dec1 and dec2 with base 16
int dec1 = Integer.parseInt("54A", 16);
int dec2 = Integer.parseInt("41C", 16);
System.out.println("Decimal value of given Hexadecimal: " + dec1);
System.out.println("Decimal value of given Hexadecimal: " + dec2);
}
}
运行此代码后,将显示以下结果:
Decimal value of given Hexadecimal: 1354 Decimal value of given Hexadecimal: 1052
使用用户定义的方法
在这种方法中,我们将定义一个用户定义的方法。然后,我们将运行一个for循环,直到十六进制数的长度。在这个循环中,我们将获取字符,然后我们将应用转换逻辑。
示例
以下示例是对上面讨论的方法的实际说明。
public class Conversion {
public static void cnvrt(String hexNum) {
// storing all the hexadecimal digits to this string
String hexStr = "0123456789ABCDEF";
// converting given argument to uppercase
hexNum = hexNum.toUpperCase();
int dec = 0;
for (int i = 0; i < hexNum.length(); i++) {
char ch = hexNum.charAt(i);
// fetching characters sequentially
int index = hexStr.indexOf(ch);
// fetching index of characters
dec = 16 * dec + index;
// applying the logic of conversion
}
System.out.println("Decimal value of given Hexadecimal: " + dec);
}
public static void main(String args[]) {
// calling the function with arguments
cnvrt("54A");
cnvrt("41C");
}
}
上述代码的输出如下:
Decimal value of given Hexadecimal: 1354 Decimal value of given Hexadecimal: 1052
广告
数据结构
网络
关系型数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP