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: 20020304 Rating: 5.83 Votes: 42 
» 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!