Java Program to Convert Binary To Octal

Write a Java program to convert binary to octal. In Java, to convert binary to octal, we first have to convert it to a decimal number and then to octal. So, we use parseInt to convert it to decimal and then use toOctalString for octal conversion.

package Remaining;

public class BinaryToOctal1 {
	
	public static void main(String[] args) {
		
		String s1 = "1101";
		String s2 = "11111";
		String s3 = "101010";
		
		// Converting to Decimal
		int a = Integer.parseInt(s1, 2);
		int b = Integer.parseInt(s2, 2);
		int c = Integer.parseInt(s3, 2);
		
		System.out.println("Binary To Octal Result");
		System.out.println(Integer.toOctalString(a));
		System.out.println(Integer.toOctalString(b));
		System.out.println(Integer.toOctalString(c));
	}
}
Binary To Octal Result
15
37
52

This Java example accepts the binary and converts it to octal using parseInt and toOctalString.

package Remaining;

import java.util.Scanner;

public class BinaryToOctal2 {
	
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Binary Number = ");
		String binary = sc.nextLine();		
		
		int decimalVal = Integer.parseInt(binary, 2);
	
		String OctalVal = Integer.toOctalString(decimalVal);
		System.out.println("Binary To Octal Result     = " + OctalVal);
	}
}
Java Program to Convert Binary To Octal 2

Java program to convert binary to octal using a while loop. The first while loop is to convert binary to decimal, and the second is to convert decimal to octal.

package Remaining;

import java.util.Scanner;

public class BinaryToOctal3 {
	
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Binary Number = ");
		long binary = sc.nextLong();		
		
		int octalVal = 0, decimalVal = 0, i = 0, j = 0;
		
		while(binary > 0)
		{
			decimalVal = (int) (decimalVal  + Math.pow(2, i++) * (binary % 10));
			binary = binary / 10;
		}
		
		while(decimalVal != 0)
		{
			octalVal = (int) (octalVal + (decimalVal % 8) * Math.pow(10, j++));
			decimalVal = decimalVal / 8;
		}
	
		System.out.println("Binary To Octal Result     = " + octalVal);
	}
}
Please Enter Binary Number = 11111111
Binary To Octal Result     = 377

Please Enter Binary Number = 1101
Binary To Octal Result     = 15

Java program to convert binary to octal using the for loop.

package Remaining;

import java.util.Scanner;

public class BinaryToOctal4 {
	
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Number = ");
		long binary = sc.nextLong();		
		
		int i, octalVal = 0, decimalVal = 0;
		
		for(i = 1; binary != 0; binary = binary / 10, i = i *  2)
		{
			decimalVal = (int) (decimalVal  + (binary % 10) * i);
		}
		
		for(i = 1; decimalVal != 0; i = i * 10)
		{
			octalVal = octalVal + (decimalVal % 8) * i;
			decimalVal = decimalVal / 8;
		}
	
		System.out.println("Result     = " + octalVal);
	}
}
Please Enter Number = 11001101
Result     = 315


Please Enter Number = 10101010
Result     = 252