首页  >  文章  >  Java  >  Java程序示例,说明八进制整数的使用方法

Java程序示例,说明八进制整数的使用方法

WBOY
WBOY转载
2023-08-28 18:05:071259浏览

Java程序示例,说明八进制整数的使用方法

八进制整数是以 8 为基数、从 0 到 7 的数字的数字系统。存储八进制数时考虑到 Int 数据类型。

这里将讨论八进制数系统的使用方式 −

  • 将十进制转换为八进制

  • 将八进制转换为十进制。

从十进制数字系统到八进制数字系统的转换

转换的基础知识

  • 将任何十进制数转换为相应的八进制数:

  • 继续将十进制数除以八进制数系统的基数 8,直到收到商 0。

  • 记得在每一步都记录余数。

  • 最后将余数倒着写出,得到的数就是对应的八进制数。

  • 让我们看一些示例,以便更好地理解这个概念。

示例 1 - 考虑十进制数 2894 并找出其等价的八进制数。

Decimal	    Division		Quotient		Remainder

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

因此,7156 是十进制数 2894 的等价八进制数。

示例2 - 考虑另一个十进制数 101 并找出其八进制等价物。

Decimal	        Division	Quotient		Remainder

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

因此,145 是十进制数 101 的等价八进制数。

Example

的中文翻译为:

示例

以下程序使用自定义逻辑将十进制数转换为其相应的八进制数。在名为 DecimalToOctal1 的类中创建带有 1 个参数的名为 DectoOctal 的方法,以演示八进制数字系统的工作原理。此处,十进制数 15 作为实际参数传递给创建的方法,并使用自定义逻辑将其转换为相应的八进制数。

//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));
   }
}

输出

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

的中文翻译为:

示例

以下程序使用库函数将十进制数转换为对应的八进制数。在一个名为DecimalToOctal2的类中,使用库函数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));
   }
}

输出

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

从八进制数字系统到十进制数字系统的转换

转换的基础知识

  • 要将任何八进制数转换为其等效的十进制数:

  • 将十进制数中的每一位数字与八进制数的底数 8 的减幂(直到 0 次幂)相乘。

  • 让我们看一些示例,以便更好地理解这个概念。

示例1 − 让我们考虑一个八进制数456 并找出它的十进制等价数。

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

因此,302 是八进制数 456 的等价十进制数。

示例2 - 让我们考虑另一个八进制数152并找出它的十进制等价数。

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

因此,106是八进制数152的等价十进制数。

Example

的中文翻译为:

示例

以下程序使用自定义逻辑将十进制数转换为其相应的八进制数。在名为 OctalToDecimal1 的类中创建带有 1 个参数的名为 OctToDec 的方法,以演示八进制数字系统的工作原理。这里,四个不同的八进制数作为实际参数传递给创建的方法,并使用自定义逻辑将其转换为相应的十进制数。

//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));
   }
}

输出

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

的中文翻译为:

示例

以下程序使用库函数将八进制数转换为相应的十进制数。在一个名为OctalToDecimal2的类中,将四个不同的八进制数作为输入传递给库方法Integer.parseInt(),并将其转换为相应的十进制数。

//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));
   }
}

输出

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

结论

本文阐明了八进制数的用法。这里通过一些例子和java程序讨论了八进制和十进制之间的转换方法。

以上是Java程序示例,说明八进制整数的使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除