Search tutorials
2) Function decimalToOctal has the following script:
function decimalToOctal (number) {
array2.splice(0);
array3.splice(0);
for (i = 0; i <= number; i ++) {
binary = Math.pow (8, i);
if (binary > number) {
arrayelement = i - 1;
break;
}
array3 [i] = binary;
}
for (j = arrayelement; j >= 0; j --) {
if (j == arrayelement) {
binaryelement = int (number / array3 [j]);
binaryremainder = int (number % array3 [j]);
array2[ 0 ] = binaryelement;
} else {
binaryremainder1 = binaryremainder;
binaryremainder = int (binaryremainder % array3 [j]);
binaryelement = int (binaryremainder1 / array3 [j]);
array2 [arrayelement - j] = binaryelement;
}
}
return array2.join ("");
}
Notice that this script is the same as above but with minor differences. We use powers of 8 instead of 16. No characters are involved.
3) Function binaryToDecimal has the following script:
function binaryToDecimal (number) {
array7.splice(0);
array6.splice(0);
for (i = 0; i <= length (number) - 1; i ++) {
array6 [i] = Math.floor (number / Math.pow (10, length (number) - i - 1)) - Math.floor (number / Math.pow (10, length (number) - i)) * 10;
}
decimal1 = 0;
for (j = 0; j < array6.length; j ++) {
array7 [j] = Math.pow (2, array6.length - j - 1);
decimal = array7 [j] * array6 [j];
decimal1 += decimal;
}
return decimal1;
}
Notice the first for structure. Length (number) specifies the number of digits in the number. Let's trace this for structure to know what it does. Suppose I entered the binary number 11011 in the input variable, then: Length of the number is 5.
for (i = 0; i <= 4; i ++) Values of elements of array6: For i = 0, array6 [0] = floor(11011/10000) - floor(11011/100000)*10 = 1 For i = 1, array6 [1] = floor(11011/1000) - floor(11011/10000) *10 = 1 For i = 2, array6 [2] = floor(11011/100) - floor(11011/1000) *10 = 0 For i = 3, array6 [3] = floor(11011/10) - floor(11011/100) *10 = 1 For i = 4, array6 [4] = floor(11011/1) - floor(11011/10) *10 = 1
Cool, ha?! As you notice, this for structure initializes array6 such that its elements are the digits of the binary number.
Notice the second for structure. Let's have a trace:
for (j = 0; j < 5; j ++) Output: For j = 0 Array7 [0] = 2*2*2*2 = 16 Decimal = 16*1 = 16 Decimal1 = 0 + 16 = 16 For j = 1 Array7 [0] = 2*2*2 = 8 Decimal = 8*1 = 8 Decimal1 = 16 + 8 = 24 .........Once execution is finished, decimal1 will be the required decimal number!
| » 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!