Java Program to Illustrate the usage of Octal Integer


Octal Integer is a number system having a base of 8 and digits from 0 to 7. Int data type is taken into account to store an octal number.

The usage of the Octal number system is to be discussed here −

  • Converting decimal to Octal

  • Converting octal to decimal.

Conversion from a Decimal number system to an Octal Number system

Basics of Conversion

  • To convert any decimal number into its equivalent octal number:

  • Keep dividing the decimal number by the base of the octal number system which is 8 till the quotient 0 is received.

  • Remember to note the remainder at each step.

  • Finally, write the remainder in a backward way and the number thus obtained gives the corresponding Octal number.

  • Let us see certain examples to comprehend the concept in a better way.

Example 1 − Consider a decimal number 2894 and find out its octal equivalent.

Decimal	    Division		Quotient		Remainder

2894	    2894 / 8		461			6
461	    461 / 8		57			5
57	    57 / 8		7			1
7	    7 / 8		0			7

Thus, 7156 is the equivalent octal number of the decimal number 2894.

Example 2 − Consider another decimal number 101 and find out its octal equivalent.

Decimal	        Division	Quotient		Remainder

101		101 / 8		12				5
12 		12 / 8		1				4
1 	   	1 / 8		0				1 

Thus, 145 is the equivalent octal number of the decimal number 101.

Example

The following program converts a decimal number into its corresponding Octal number using custom logic. A method named DectoOctal with 1 parameter is created within a class named DecimalToOctal1 to demonstrate the working of Octal number system. Here, a decimal number 15 is passed as an actual parameter to the created method and the same is converted into a corresponding Octal number using custom logic.

//Java Program to illustrate the decimal to octal conversion
//using custom logic
public class DecimalToOctal1 {
   
   //creating a method to convert decimal numbers into octal numbers
   public static String DectoOctal(int dec) {
      int r;
      String octal="";
      
      //declaring and initializing an array octalchr
      char octalchr[]= {'0', '1', '2', '3', '4', '5', '6', '7'};
      
      //logic for conversion
      while(dec>0) {
         r=dec%8;
         octal=octalchr[r]+octal;
         dec=dec/8;
      }
      return octal;
   }
   public static void main(String args[]) {
      
      //Invoking the above method to get the octal number of the below decimal numbers
      System.out.println("Octal equivalent of decimal number 15 is: "+DectoOctal(15));
      System.out.println("Octal equivalent of decimal number 24 is: "+DectoOctal(24));
      System.out.println("Octal equivalent of decimal number 7 is: "+DectoOctal(7));
      System.out.println("Octal equivalent of decimal number 5 is: "+DectoOctal(5));
   }
}

Output

Octal equivalent of decimal number 15 is: 17
Octal equivalent of decimal number 24 is: 30
Octal equivalent of decimal number 7 is: 7
Octal equivalent of decimal number 5 is: 5

Example

The following program converts a decimal number into its corresponding Octal number using a library function. A class named DecimalToOctal2 is created within which four different decimal numbers get converted into their corresponding octal values using library function Integer.toOctalString().

//Java Program to demonstrate the conversion of decimal number into its equivalent octal number using a library function
public class DecimalToOctal2 {
   public static void main(String args[]) {
      //By the usage of the Integer.toOctalString() library method
      //to convert a decimal value into a corresponding octal number

      System.out.println("Octal equivalent of decimal number 15 is:" +Integer.toOctalString(15));
      System.out.println("Octal equivalent of decimal number 24 is:" +Integer.toOctalString(24));
      System.out.println("Octal equivalent of decimal number 7 is:" +Integer.toOctalString(7));
      System.out.println("Octal equivalent of decimal number 5 is:" +Integer.toOctalString(5));
   }
}

Output

Octal equivalent of decimal number 15 is:17
Octal equivalent of decimal number 24 is:30
Octal equivalent of decimal number 7 is:7
Octal equivalent of decimal number 5 is:5

Conversion from an Octal number system to a Decimal Number system

Basics of Conversion

  • To convert any octal number into its equivalent decimal number:

  • Multiply each digit present in the decimal number with the decreasing power (till power 0) of the base of the octal number which is 8.

  • Let us see certain examples to comprehend the concept in a better way.

Example 1 − Let us consider an octal number 456 and find out its equivalent decimal number.

456 = (4 * 8^2) + (5 * 8^1) + (6 * 8^0)
   = (4 * 64) + (5 * 8) + (6 * 1)
   = 256 + 40 + 6
   = 302

Thus, 302 is the equivalent decimal number of the octal number 456.

Example 2 − Let us consider another octal number 152 and find out its equivalent decimal number.

152 = (1 * 8^2) + (5 * 8^1) + (2 * 8^0)
   = (1 * 64) + (5 * 8) + (2 * 1)
   = 64 + 40 + 2
   = 106

Thus, 106 is the equivalent decimal number of the octal number 152.

Example

The following program converts a decimal number into its corresponding Octal number using custom logic. A method named OctToDec with 1 parameter is created within a class named OctalToDecimal1 to demonstrate the working of Octal number system. Here, four different octal numbers are passed as an actual parameter to the created method and the same is converted into corresponding Decimal numbers using custom logic.

//Java Program to illustrate the conversion of Octal to Decimal
//using custom logic
public class OctalToDecimal1 {
   //Declaring a method to perform a conversion
   public static int OctToDec(int oct) {
      //Declaring variable to store a decimal number
      int dec = 0;
      //Declaring variable to use in power
      int p = 0;
      //generating the logic
      while(true) {
         if(oct == 0) {
         break;
         } else {
            int t = oct % 10;
            dec += t * Math.pow(8, p);
            oct = oct / 10;
            p++;
         }
      }
      return dec;
   }
   public static void main(String args[]) {
      //displaying the result of the conversion
      System.out.println("Equivalent Decimal of octal number 673 is: "+OctToDec(673));
      System.out.println(" Equivalent Decimal of octal number 71 is: "+OctToDec(23));
      System.out.println("Equivalent Decimal of octal number 100 is: "+OctToDec(100));
      System.out.println("Equivalent Decimal of octal number 88 is: "+OctToDec(10));
   }
}

Output

Equivalent Decimal of octal number 673 is: 443
Equivalent Decimal of octal number 71 is: 19
Equivalent Decimal of octal number 100 is: 64
Equivalent Decimal of octal number 88 is: 8

Example

The following program converts an Octal number into its corresponding Decimal number using a library function. A class named OctalToDecimal2 is created within which four different octal numbers are given as input to the library method Integer.parseInt() and the same is converted into corresponding Decimal numbers.

//Java Program to demonstrate the conversion of an octal number into its equivalent decimal number using a library function
public class OctalToDecimal2 {
   public static void main(String args[]) {
      System.out.println("Equivalent Decimal of octal number 673 is " + Integer.parseInt("673",8));
      System.out.println("Equivalent Decimal of octal number 673 is " + Integer.parseInt("23",8));
      System.out.println("Equivalent Decimal of octal number 673 is " + Integer.parseInt("100",8));
      System.out.println("Equivalent Decimal of octal number 673 is " + Integer.parseInt("10",8));
   }
}

Output

Equivalent Decimal of octal number 673 is 443
Equivalent Decimal of octal number 673 is 19
Equivalent Decimal of octal number 673 is 64
Equivalent Decimal of octal number 673 is 8

Conclusion

This article throws light on the usage of Octal numbers. The ways to convert the octal number system into the decimal number system and vice versa have been discussed here with the help of certain examples and java programs.

Updated on: 12-Apr-2023

132 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements