**Search tutorials**

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: 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! |