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

2023年 8月 29日 49.7k 0

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程序示例,说明八进制整数的使用方法的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论