CPP-任意进制相互转化总结

这篇博客介绍了编程中常见的进制转换问题,包括从j进制到十进制,再到k进制的转换。作者分享了自己编写的C++代码,并探讨了将转换过程合并的思路,但遇到了计算机默认处理十进制的限制。尽管尝试使用位移运算,但了解到其适用于二进制操作。博主希望通过优化代码提高效率,同时表达了对顺利毕业和找工作的期待。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进制转化是学习编程中最常见的问题之一,涉及的知识点比较简单,是入门等级的问题。

这里记录一下自己用起来比较顺手的进制转化代码:

最基本的想法一共分为三步:

  1. j进制转十进制
  2. 十进制转k进制
  3. vans

核心代码部分:

// 十进制转k进制部分

int dec2k(int k, int dec)
{
    int res = 0;
    int i = 1;
    while(dec)
    {
		res = res + i * (dec % k);
		dec = dec / k;
		i = i * 10;
    }
    return res;
}

因此总代码为:

#include <iostream>
using namespace std;

int j2dec(int j, int num)
{
    int res = 0;
    int i = 1;
    while(num)
    {
		res = res + i * (num % 10);
		num = num / 10;
		i = i * j;
    }
    return res;
}

int dec2k(int k, int num)
{
    int res = 0;
    int i = 1;
    while(num)
    {
		res = res + i * (num % k);
		num = num / k;
		i = i * 10;
    }
    return res;
}

int j2k(int j, int k, int num)
{
    int dec,res;
    dec 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值