C++实现各进制数之间的转换

学习计算机就不得不谈及简单的进制转换,毕竟都逃不过的哈哈哈

闲话不多说,先上代码

#include<cstdio>
int main(){
	int y= 0,product = 1;
	int x,x1;
	int p;
	printf("请输入需要被转化的进制数(as 2、8、10...):"); 
	scanf("%d",&p);
	printf("\n");
	printf("请输入一个%d进制数:",p); 
	scanf("%d",&x);
	x1=x;
	while(x!=0){
		y = y+(x%10)*product;  //x%10是为了每次获取x的个位数 
		x = x/10;     //去掉x的各位 
		product = product*p;  //produce在循环中不断乘p,得到1,p,p^2,p^3... 
	}
	printf("\n");
	printf("中间转化为十进制数值为:%d\n",y); 
	
	int z[40];    //数组z中存放pp进制中的每一位 
	int num = 0;
	int count=0;
	int pp;
	printf("\n");
	printf("请输入需要转化成的进制数(as 2、8、10...):"); 
	scanf("%d",&pp);
	do{
		z[num] = y%pp;  //除基取余 
	//	printf("%d\n",z[num]); 
	//	printf("%d\n",num); 
		num++;
		y = y/pp;
		count++;
	//	printf("%d\n",count
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是一个简单的C++程序,用于实现进制和十进制之间的相互转换: ```cpp #include <iostream> #include <cmath> // 将二进制转换为十进制 int binaryToDecimal(int binary) { int decimal = 0; int base = 1; while (binary > 0) { int lastDigit = binary % 10; binary /= 10; decimal += lastDigit * base; base *= 2; } return decimal; } // 将十进制转换为二进制 int decimalToBinary(int decimal) { int binary = 0; int base = 1; while (decimal > 0) { int lastDigit = decimal % 2; decimal /= 2; binary += lastDigit * base; base *= 10; } return binary; } int main() { int binaryNumber, decimalNumber; // 输入二进制 std::cout << "请输入一个二进制: "; std::cin >> binaryNumber; // 转换为十进制并输出 decimalNumber = binaryToDecimal(binaryNumber); std::cout << "转换为十进制为: " << decimalNumber << std::endl; // 输入十进制 std::cout << "请输入一个十进制: "; std::cin >> decimalNumber; // 转换为二进制并输出 binaryNumber = decimalToBinary(decimalNumber); std::cout << "转换为二进制为: " << binaryNumber << std::endl; return 0; } ``` 这个程序通过两个函,`binaryToDecimal`和`decimalToBinary`,分别实现了二进制到十进制和十进制到二进制转换。在主函中,程序会要求用户输入一个二进制,然后将其转换为十进制并输出。接着,程序会要求用户输入一个十进制,然后将其转换为二进制并输出。 希望这个程序能满足你的需求!如果有任何问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值