Internet Commerce

Partners & Affiliates














Developer Channel

internet.com


Tutorials Home What's New Top Rated Submit myTutes Random!

Search Tutorials


Tutorials Tutorials » Math-Physics

Categories Conversion of Number Systems
Author: Mr.Ehab

 
Page 5
«prev 1 2 3 4 5 6 7 next»

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 

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!

«prev 1 2 3 4 5 6 7 next»

» Level Intermediate

Added: : 2002-03-04
Rating: 6.36 Votes: 25
Hits: 1094
» Author
Student studying Computer Engineering and Graphic Design.
» Download
Download the files used in this tutorial.
Download (34 kb)
Get conversion and unzipping tools for PC and Mac here!

» Forums
More help? Search our boards for quick answers!

Please rate this tutorial, 10 is the top rating, you can also click the comments link to read/write a review.
10 9 8 7 6 5 4 3 2 1
Read or Post Comments
 
   
 


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers