function hexadecimalToDecimal (string) {
array11.splice(0);
array10.splice(0);
string.split ();
for (i = 0; i < string.length; i ++) {
array10 [i] = string.substr (i, 1);
if (array10 [i] == "A") {
array10 [i] = 10;
} else if (array10 [i] == "B") {
array10 [i] = 11;
} else if (array10 [i] == "C") {
array10 [i] = 12;
} else if (array10 [i] == "D") {
array10 [i] = 13;
} else if (array10 [i] == "E") {
array10 [i] = 14;
} else if (array10 [i] == "F") {
array10 [i] = 15;
} else {
array10 [i] = Number (string.substr (i, 1));
}
}
decimal1 = 0;
for (j = 0; j < string.length; j ++) {
array11 [j] = Math.pow (16, string.length - j - 1);
decimal = array11 [j] * array10 [j];
decimal1 += decimal;
}
return decimal1;
}
Notice that all functions take an integer argument except the function hexadecimalToDecimal which takes a string since a hexadecimal number contains characters. Notice some similarities between the script of this function and the scripts of the functions binaryToDecimal and octalToDecimal. String.substr divides our string into a substring whose first element is of index i and the number of elements in it is 1 (as if we're taking a single character of a specific index in the string). Let's have a trace:
Suppose the user enters: AAB2for (i = 0; i < 4; i ++) Output: For i = 0, array10 [0] = 'A'. Since we need a decimal number, we have to convert A to 10, array10 [0] = 10. For i = 1, array10 [1] = 'A'. Since we need a decimal number, we have to convert A to 10, array10 [1] = 10. For i = 2, array10 [2] = 'B'. Since we need a decimal number, we have to convert A to 11, array10 [2] = 11. For i = 3, array10 [3] = 2.
Now, the second for structure calculates the required decimal number since all elements of array10 are numbers.
Notice that I used different arrays in this program. This is important to store values indispensable for function calculation validity and to refrain from errors.
The 'convert' button does the conversion by calling the necessary functions. Notice that I didn't insert a function that, for example, converts from hexadecimal to binary or hexadecimal to octal. This is useless because when I convert from hexadecimal to decimal, I use the function decimalToBinary to further convert the decimal number to binary. That's a very good translation!
CONCLUSION
I hope this tutorial has given you a great help! I'm ready to accept any comments regarding what I said. If you have anything not clear in Flash, I will be ready to help you!! Just email me at ehab_saredine@hotmail.com!!:)
| » Level Intermediate |
|
Added: 2002-03-04 Rating: 6 Votes: 39 |
| » Author |
| Student studying Computer Engineering and Graphic Design. |
| » Download |
| Download the files used in this tutorial. |
| Download (34 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!