将基数10转换为某个基数

时间:2015-11-02 17:11:40

标签: c++ base

我有问题。 我想将一个整数(ex 64)转换为某个基数(ex 4)。这个数字看起来像100(我想)。 我需要得到之前呈现的数字(100)。 如果我使用我想到的算法,我将得到001,它将被转换为1.如何将基数10整数转换为基数4表示,从非0的第一个数字开始。 对不起我的不好解释,我希望有人会理解。

int x=64;
int t=x; // temp variable
int pp=0;
int base=4;
while(t!=0)
{
        pp = pp * 10 + t%base;
        t/=base;
}

1 个答案:

答案 0 :(得分:0)

您需要将数据添加到值的前面:

int x = 64;
int t = x; // temp variable

int pp = 0;
int base = 4;

int pos = 1;

while (t != 0)
{
    pp += (t % base) * pos;
    t /= base;
    pos *= 10;
}

我希望你只是用这个来玩,因为你可能会陷入许多陷阱(例如base小于0或大于10)