您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 威海分类信息网,免费分类信息发布

Java程序:十六进制转十进制转换

2024/7/5 13:35:12发布56次查看
数字系统有四种类型:二进制、八进制、十进制和十六进制,基值分别为 2、8、10 和 16。基值取决于数字系统包含的位数。例如,二进制数系统仅包含 0 和 1 两个数字,因此其基数为 2。
在本文中,我们将讨论十六进制和十进制数字系统。另外,我们将编写java程序将十六进制数转换为十进制数。
十六进制和十进制数字系统十六进制数字系统它代表0到9、a到f的数字。总共有16个数字,它的基值也是16。单个数字的权重是16的幂,每个数字都是16倍比上一张重。 12a16、34b16、45c16 是十六进制的几个示例。在计算机中,颜色代码通常以十六进制形式编写。
假设我们必须存储一个很大的十进制值,如果我们将它存储在二进制计数系统中,那么二进制字符串可能会变得很长。在这种情况下,我们可以使用十六进制数字系统,可以将 4 位二进制存储为 1 位。它缩短了位的长度。
十进制数字系统它是最常用的数字系统。它有从 0 到 9 的 10 位数字。因此,它的基值为 10。如果没有提到数字的基值,则认为该数字是 10。单个数字的权重为 10 的幂,每个数字都是 10 倍比上一篇更有分量。例如1010、43110、98010等
下表表示所有十六进制数字的二进制和十进制值 -
二进制
十进制
十六进制
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
10
a
1011
11
b
1100
12
c
1101
13
d
1110
14
e
1111
15
f
十六进制到十进制转换让我们了解如何将十六进制转换为十进制。
示例 1将十六进制 (54a)16 转换为十进制 -
我们可以通过将每个数字乘以 16n-1 将其转换为十进制,其中 n 是位数。
(54a)16 = 5 * 163-1 + 4 * 162-1 + a * 161-1
= 5 * 162 + 4 * 161 + 10 * 160 【a = 10 的十进制看表】
= 5 * 256 + 64 + 10 [160 等于 1]
= 1280 + 74
= 1354
现在,我们将看到一个java程序,我们将在其中应用上述逻辑将十六进制转换为十进制。
方法一:使用parseint()方法它是“integer”类的静态方法,根据指定的基数返回一个十进制值。它在“java.lang”包中可用。
语法integer.parseint(string, base);
参数string - 要转换的值
base - 给定值根据给定基数进行转换
示例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: 1354decimal value of given hexadecimal: 1052

方法二:使用用户自定义方法在这种方法中,我们将创建一个用户定义的方法 cnvrt() 以及参数“hexnum”。我们将声明并初始化“hexstr”,它将以字符串的形式存储所有十六进制数字。然后,我们将运行一个 for 循环,直到参数“hexnum”的长度。在该循环中,我们将从“hexstr”中获取字符及其索引,然后应用转换逻辑。
在主方法中,我们将使用不同的参数调用方法“cnvrt()”。
示例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: 1354decimal value of given hexadecimal: 1052

结论在本文中,我们了解了数字系统的类型。这些数字系统是任何数学运算的基础。另外,还讨论了两种制作java程序将十六进制数转换为十进制数的方法。
以上就是java程序:十六进制转十进制转换的详细内容。
威海分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录