Posted on by Kalkicode
Code Conversion

Conversion from binary to octal in typescript

Ts program for Conversion from binary to octal. Here mentioned other language solution.

//  Typescript program for
//  Convert Binary number into Octal number
class Convert
{
    // Convert decimal number into octal
    public number octal(number:number)
    {
        var result = 0;
        var multiplier = 1;
        var remainder = 0;
        while (number != 0)
        {
            remainder = number % 8;
            result = (remainder * multiplier) + result;
            multiplier *= 10;
            number = parseInt(number / 8);
        }
        return result;
    }
    public  binaryToOctal(num:string)
    {
        if (num.length == 0)
        {
            // When empty binary number
            return;
        }
        // Some useful variable
        var flag = false;
        var decimalNo = 0;
        var counter = 0;
        var index = num.length - 1;
        // We Assume that given binary number is valid
        // Here - indicates negative binary number
        // First convert binary to decimal
        // Example = 10111 => 23
        while (index >= 0)
        {
            if (num.charAt(index) == '1')
            {
                decimalNo += (1 << counter);
            }
            else
                if (num.charAt(index) != '0')
                {
                    if (index == 0 && num.charAt(index) == '-')
                    {
                        // When get negative number
                        flag = true;
                    }
                    else
                    {
                        // Not a valid binary number
                        return;
                    }
                }
            counter += 1;
            index -= 1;
        }
        // When given number is 
        var output = this.octal(decimalNo);
        if (flag == true)
        {
            output = -output;
        }
        // Display given number
        console.log("Binary : " + num);
        // Display result
        console.log(" Octal : " + output);
    }
    public static  main()
    {
        var task = new Convert();
        // Test Case
        task.binaryToOctal("1111");
        task.binaryToOctal("10111");
        task.binaryToOctal("101011");
        task.binaryToOctal("11011");
        task.binaryToOctal("-1000110");
    }
}
Convert.main();
/*
 file : code.ts
 tsc --target es6 code.ts
 node code.js
 */

Output

Binary : 1111
 Octal : 17
Binary : 10111
 Octal : 27
Binary : 101011
 Octal : 53
Binary : 11011
 Octal : 33
Binary : -1000110
 Octal : -106

Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment