10進位數轉任意整數N進位與反轉 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
最近經常發現有會員需要作不同數制間的轉換,且希望指定顯示位數,不足位數者前面補零。
所以特別提供一個:10進位數轉任意整數N進位與反轉的函式,理論上可以算出任意進位,只要我們提供足夠且合理的表示字元即可。 示範例子至 class="code">
//===== BCB version ------------------------------------------------- AnsiString digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 36 進位 AnsiString DecimalToN(int value, int N, int withZeros=0)
// value:欲轉換的數值; N:欲轉換的進位制;
// withZeros: 總顯示位數,不足前方補零;內定值為0,則依實際位數顯示。
{ AnsiString result="";
if ( N<=0 ) return result;
if ( value==0 ) result="0";
else
{ while( value>0 )
{ result = (AnsiString) digits[1 value%N] result;
value /= N;
}
}
while ( result.Length()
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |