用java写一个八进制转化十进制
时间: 2023-02-27 21:03:30 浏览: 61
下面是一个使用 Java 将八进制转换为十进制的代码示例:
```
import java.util.Scanner;
public class OctalToDecimal {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入八进制数:");
String octal = scanner.nextLine();
int decimal = 0;
int power = 0;
for (int i = octal.length() - 1; i >= 0; i--) {
decimal += (octal.charAt(i) - '0') * Math.pow(8, power);
power++;
}
System.out.println("十进制数:" + decimal);
}
}
```
这段代码通过扫描用户输入的八进制数并使用循环语句进行转换,最后输出转换后的十进制数。
相关问题
java写一个二进制和十进制转化
二进制和十进制的转化可以使用Java的内置函数进行实现,例如:
```java
// 十进制转二进制
int decimal = 10;
String binary = Integer.toBinaryString(decimal);
System.out.println(binary); // 输出:"1010"
// 二进制转十进制
String binary = "1010";
int decimal = Integer.parseInt(binary, 2);
System.out.println(decimal); // 输出:10
```
这里使用了Java内置的 `Integer.toBinaryString()` 和 `Integer.parseInt()` 函数。前者将整数转换为二进制字符串,后者将二进制字符串转换为整数。需要注意的是,后者在转换时需要指定进制,这里使用 `2` 表示二进制。
用c写一个八进制转十进制得代码
以下是用C语言编写的八进制转十进制的代码:
```c
#include <stdio.h>
int main() {
int octal, decimal = 0, base = 1;
printf("Enter an octal number: ");
scanf("%d", &octal);
while (octal != 0) {
decimal += (octal % 10) * base;
octal /= 10;
base *= 8;
}
printf("The decimal equivalent is: %d", decimal);
return 0;
}
```
运行结果:
```
Enter an octal number: 64
The decimal equivalent is: 52
```
这个程序首先要求用户输入一个八进制数,然后使用 while 循环将其转换为十进制数。在每一次循环中,我们使用取模运算符 `%` 取出八进制数的最后一位,将其乘以当前位的基数(8的幂次),并将结果累加到十进制数中。然后,我们将八进制数除以10,以便在下一次循环中处理下一位,同时将基数乘以8,以便在下一次循环中处理下一位的基数。最后,我们打印出计算出的十进制数。