C 程序将十进制转换为八进制数

如何编写一个 C 程序,通过实际示例将十进制转换为八进制数?在本次编程中将十进制转换为八进制数之前,我们都知道:

  • 十进制数是基数为 10 的数制系统,它使用 0 到 9 之间的数字。
  • 八进制数是基数为 8 的数,它们使用 0 到 7 之间的数字。

将十进制数转换为八进制数——首先,将原始值除以 8。然后,将商除以 8。重复相同的过程,直到给定的数字为零。

C 程序将十进制转换为八进制数的示例

这是将十进制数转换为八进制数的最直接、最好的方法。

#include <stdio.h>
int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);

printf("\n Octal Number of a Given Number = %o", number);

return 0;
}

十进制到八进制的输出


 Please Enter the Number You want to Convert  :  50

 Octal Number of a Given Number =  62

将十进制数转换为八进制数示例 2

此将十进制转换为八进制的程序使用 For 循环将用户给定的十进制值转换为八进制值。最后,我们使用另一个 For 循环来打印数组元素。我建议您参考打印数组文章。

#include <stdio.h>
int main()
{
int octalNumber[10], number, i, j;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);

for(i = 0; number > 0; i++)
{
octalNumber[i] = number % 8;
number = number / 8;
}

printf("\n Equivalent Octal Number of a Given Number = ");
for(j = i - 1; j >= 0; j--)
{
printf("%d", octalNumber[j]);
}
return 0;
}
 Please Enter the Number You want to Convert  :  25

 Equivalent Octal Number of a Given Number =  31

将十进制数转换为八进制数示例 3

程序与上述程序相同。这里,将 For 循环替换为While 循环

#include <stdio.h>

int main()
{
int octalNumber[10], number, i, j;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);

while(number != 0)
{
octalNumber[i++] = number % 8;
number = number / 8;
}

printf("\n Equivalent Octal Number of a Given Number = ");
for(j = i - 1; j > 0; j--)
{
printf("%d", octalNumber[j]);
}
return 0;
}
C Program to Convert Decimal to Octal Number

使用函数将十进制数转换为八进制数

在此程序中,我们使用函数来分离逻辑。

#include <stdio.h>

long Decimal_to_Octal(int number)
{
long octalNumber = 0, i = 1;
int remainder;
while(number != 0)
{
remainder = number % 8;
number = number / 8;
octalNumber = octalNumber + (remainder * i);
i = i * 10;
}
return octalNumber;
}

int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);

long oct = Decimal_to_Octal(number);
printf("\n Equivalent Octal Number of %d = %ld", number, oct);

return 0;
}
 Please Enter the Number You want to Convert  :  22

 Equivalent Octal Number of 22 =  26

将十进制数转换为八进制数示例 5

这是另一个 C 编程示例,用于将十进制值转换为八进制数。

#include <stdio.h>
#include<math.h>

long Decimal_to_Octal(int number)
{
long octalNumber = 0;
int remainder, count = 0;
while(number != 0)
{
remainder = number % 8;
number = number / 8;
octalNumber = octalNumber + remainder * pow(10, count);
count++;
}
return octalNumber;
}

int main()
{
int number;
printf("\n Please Enter the Number You want to Convert : ");
scanf("%d", &number);

long oct = Decimal_to_Octal(number);
printf("\n Equivalent Octal Number of %d = %ld", number, oct);

return 0;
}
 Please Enter the Number You want to Convert  :  70

 Equivalent Octal Number of 70 =  106