FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Java/Conversions/AnyBaseToDecimal.java at master · java66liu/Java · GitHub
java66liu
/
Java
Public
forked from
TheAlgorithms/Java
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Java
/
Conversions
/
AnyBaseToDecimal.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
53 lines (48 loc) · 1.7 KB
Breadcrumbs
Java
/
Conversions
/
AnyBaseToDecimal.java
Copy path
File metadata and controls
53 lines (48 loc) · 1.7 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package
Conversions
;
/**
* @author Varun Upadhyay (https://github.com/varunu28)
*/
// Driver program
public
class
AnyBaseToDecimal
{
public
static
void
main
(
String
[]
args
) {
assert
convertToDecimal
(
"1010"
,
2
) ==
Integer
.
valueOf
(
"1010"
,
2
);
assert
convertToDecimal
(
"777"
,
8
) ==
Integer
.
valueOf
(
"777"
,
8
);
assert
convertToDecimal
(
"999"
,
10
) ==
Integer
.
valueOf
(
"999"
,
10
);
assert
convertToDecimal
(
"ABCDEF"
,
16
) ==
Integer
.
valueOf
(
"ABCDEF"
,
16
);
assert
convertToDecimal
(
"XYZ"
,
36
) ==
Integer
.
valueOf
(
"XYZ"
,
36
);
}
/**
* Convert any radix to decimal number
*
* @param s the string to be convert
* @param radix the radix
* @return decimal of bits
* @throws NumberFormatException if {@code bits} or {@code radix} is invalid
*/
public
static
int
convertToDecimal
(
String
s
,
int
radix
) {
int
num
=
0
;
int
pow
=
1
;
for
(
int
i
=
s
.
length
() -
1
;
i
>=
0
;
i
--) {
int
digit
=
valOfChar
(
s
.
charAt
(
i
));
if
(
digit
>=
radix
) {
throw
new
NumberFormatException
(
"For input string "
+
s
);
}
num
+=
valOfChar
(
s
.
charAt
(
i
)) *
pow
;
pow
*=
radix
;
}
return
num
;
}
/**
* Convert character to integer
*
* @param c the character
* @return represented digit of given character
* @throws NumberFormatException if {@code ch} is not UpperCase or Digit character.
*/
public
static
int
valOfChar
(
char
c
) {
if
(!(
Character
.
isUpperCase
(
c
) ||
Character
.
isDigit
(
c
))) {
throw
new
NumberFormatException
(
"invalid character :"
+
c
);
}
return
Character
.
isDigit
(
c
) ?
c
-
'0'
:
c
-
'A'
+
10
;
}
}
Back
|
FazBrowse Home
|
New Git URL