我遇到問題。 我想將整數(例如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'類型的變量是沒有意義的。 –