Примеры на языке C - Преобразование из восьмеричной в десятичную и из десятичной в восьмеричную систему счисления
Преобразование между восьмеричной и десятичной системами счисления.
Пример - Преобразование из десятичной в восьмеричную систему счисления
#include <stdio.h>
#include <math.h>
int convertDecimalToOctal(int decimalNumber);
int main()
{
int decimalNumber;
printf("Введите десятичное число:");
scanf("%d", &decimalNumber);
printf("Десятичное число %d, преобразованное в восьмеричное, равно %d", decimalNumber, convertDecimalToOctal(decimalNumber));
return 0;
}
int convertDecimalToOctal(int decimalNumber)
{
int octalNumber = 0, i = 1;
while (decimalNumber != 0)
{
octalNumber += (decimalNumber % 8) * i;
decimalNumber /= 8;
i *= 10;
}
return octalNumber;
}
Результат вывода:
输入一个十进制数: 78 十进制数 78 转换为八进制为 116
Пример - Преобразование из восьмеричной в десятичную систему счисления
#include <stdio.h>
#include <math.h>
long long convertOctalToDecimal(int octalNumber);
int main()
{
int octalNumber;
printf("Введите восьмеричное число:");
scanf("%d", &octalNumber);
printf("Восьмеричное число %d, преобразованное в десятичное, равно %lld", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
long long convertOctalToDecimal(int octalNumber)
{
int decimalNumber = 0, i = 0;
while(octalNumber != 0)
{
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
Результат вывода:
输入一个八进制数: 116 八进制数 116 转换为十进制为 78Другие расширения