十进制与八进制相互转换代码【c语言】

本文详细介绍了如何使用C语言实现十进制到八进制和八进制到十进制的转换,并提供了相应的代码示例。通过这两个过程的演示,总结了十进制与八进制之间的转换规则。
摘要由CSDN通过智能技术生成

目录

十进制转换为八进制

八进制转换为十进制

总结


有关十进制与八进制相互转换的关系我已经在之前的博客中提到,有不了解的宝宝可以看看我之前的博客呦,此外,想了解十进制与二进制相互转换代码的宝宝,也可以看看我之前的博客呦。

十进制转换为八进制

其代码如下:

#include<stdio.h>
int main() {
	int n = 0;
	printf("请输入十进制正整数:");
	scanf("%d", &n);
	int a = 1, m = 0, sum = 0;
	while ((n+7) / 8 != 0) {
		m = n % 8;
		sum = sum + a * m;
		n = n / 8;
		a = a * 10;
		}
	printf("%d", sum);
	return 0;
}

运行结果为:

八进制转换为十进制

其代码如下:

#include<stdio.h>
int main() {
	int a=1, n, sum = 0;
	int m;
	printf("请输入八进制正整数:");
	scanf("%d", &n);
	while (n!=0) {
		m = n % 10;
		sum = sum + m * a;
		a *= 8;
		n = n / 10;
	}
	printf("十进制数为:%d", sum);
	return 0;
}

其运行结果为:

总结

以上就是这篇文章的全部内容,如果这篇文章对你有帮助,请帮忙点个赞叭!

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是C语言实现十进制八进制和二进制之间转换代码: 从十进制转换八进制: ``` void Decimal2Octal(int decimalNumber) { int quotient = 0; int octalNumber[100]; int i = 0; quotient = decimalNumber; while (quotient != 0) { octalNumber[i] = quotient % 8; quotient = quotient / 8; i++; } printf("Octal number is: "); for (int j = i - 1; j >= 0; j--) { printf("%d", octalNumber[j]); } } ``` 从十进制转换为二进制: ``` void Decimal2Binary(int decimalNumber) { int quotient = 0; int binaryNumber[100]; int i = 0; quotient = decimalNumber; while (quotient != 0) { binaryNumber[i] = quotient % 2; quotient = quotient / 2; i++; } printf("Binary number is: "); for (int j = i - 1; j >= 0; j--) { printf("%d", binaryNumber[j]); } } ``` 从八进制转换十进制: ``` int Octal2Decimal(int octalNumber) { int decimalNumber = 0; int i = 0; int remainder; while (octalNumber != 0) { remainder = octalNumber % 10; octalNumber = octalNumber / 10; decimalNumber = decimalNumber + remainder * pow(8, i); i++; } return decimalNumber; } ``` 从八进制转换为二进制: ``` void Octal2Binary(int octalNumber) { int decimalNumber = Octal2Decimal(octalNumber); Decimal2Binary(decimalNumber); } ``` 从二进制转换十进制: ``` int Binary2Decimal(long long binaryNumber) { int decimalNumber = 0; int i = 0; int remainder; while (binaryNumber != 0) { remainder = binaryNumber % 10; binaryNumber = binaryNumber / 10; decimalNumber = decimalNumber + remainder * pow(2, i); i++; } return decimalNumber; } ``` 从二进制转换八进制: ``` void Binary2Octal(long long binaryNumber) { int decimalNumber = Binary2Decimal(binaryNumber); Decimal2Octal(decimalNumber); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值