我遇到问题。 我想将整数(例如64)转换为某个基础(例如4)。这个数字看起来像100(我认为)。 我需要得到之前呈现的号码(100)。 如果我使用算法,我想我会得到001将被转换为1.我怎样才能将基10整数转换成以不是0的第一个数字开始的基4表示。 对不起,我的不好解释,我希望有人会明白。将基座10转换为某个基座
int x=64;
int t=x; // temp variable
int pp=0;
int base=4;
while(t!=0)
{
pp = pp * 10 + t%base;
t/=base;
}
http://en.cppreference.com/w/cpp/io/manip/setbase –
我假设你在做这个练习,因为有基础库转换。基数是数字的显示属性,所以我不会将它存储在“int”中。你可以运行你的循环,把字符放到'char'数组中,然后以相反的顺序显示'char'数组。 – lurker
被愚弄的答案没有真正表达清楚的是你所做的事情没有意义。数字是毫无根据的 - 如果我有25件东西,我总是有相同数量的东西,不管基地是什么。事实上,你的计算机可能在内部存储所有的数字,但是你没有看到它。有什么有所作为的是_displaying_该号码给用户(或保存在一个文件等)。在这种情况下,当您将其转换为字符串时,您需要指定转换的基础。在特定的基础中有一个'int'类型的变量是没有意义的。 –