八进制转换为十进制

简介: 【7月更文挑战第6天】八进制转换为十进制。

题目:八进制转换为十进制

程序分析:无。

实例

include

include

include

// 函数声明
int octalToDecimal(const char *octalNumber);

int main() {
char octalNumber[100];

// 输入八进制数
printf("请输入一个八进制数: ");
scanf("%s", octalNumber);

// 转换为十进制
int decimalNumber = octalToDecimal(octalNumber);

// 输出结果
printf("八进制数 %s 转换为十进制数是: %d\n", octalNumber, decimalNumber);

return 0;

}

// 八进制转换为十进制的函数
int octalToDecimal(const char *octalNumber) {
int decimalNumber = 0;
int length = strlen(octalNumber);

for(int i = 0; i < length; i++) {
    int digit = octalNumber[i] - '0'; // 将字符转换为数字
    decimalNumber += digit * pow(8, length - i - 1);
}

return decimalNumber;

}
以上实例运行输出结果为:

请输入一个八进制数: 16
八进制数 16 转换为十进制数是: 14
代码解析:

头文件: 包含必要的头文件 stdio.h(用于输入输出)、math.h(用于数学计算)和 string.h(用于字符串操作)。
函数声明: int octalToDecimal(const char *octalNumber); 声明了一个将八进制数转换为十进制数的函数。
主函数:
定义一个字符数组 octalNumber 来存储用户输入的八进制数。
使用 scanf 函数获取用户输入的八进制数。
调用 octalToDecimal 函数将八进制数转换为十进制数。
使用 printf 函数输出转换后的十进制数。
八进制转换为十进制的函数:
octalToDecimal 函数接收一个八进制数的字符串表示形式,并将其转换为十进制数。
使用 strlen 获取八进制字符串的长度。
遍历八进制字符串,每一位字符转换为对应的数字,并计算其对应的十进制值累加到 decimalNumber。

目录
相关文章
|
27天前
十进制转换为八进制
【10月更文挑战第27天】十进制转换为八进制。
65 23
|
27天前
二进制转换为十进制
【10月更文挑战第27天】二进制转换为十进制。
69 8
|
27天前
二进制转换为八进制
【10月更文挑战第27天】二进制转换为八进制。
42 7
|
27天前
八进制转换为十进制
【10月更文挑战第27天】八进制转换为十进制。
47 2
|
6月前
|
存储
详细讲解,进制转换
详细讲解,进制转换
|
7月前
|
C语言
进制转换间的那点事
进制转换间的那点事
十进制转换为2进制
十进制转换为2进制
105 0
十进制转换为2进制