全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3821
推到 Plurk!
推到 Facebook!

10進位數轉任意整數N進位與反轉

 
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-12 00:22:31 IP:211.76.xxx.xxx 未訂閱
最近經常發現有會員需要作不同數制間的轉換,且希望指定顯示位數,不足位數者前面補零。 所以特別提供一個: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()0 ) do begin result := digits[1 value mod N] result; value := value div N; end end; while ( Length(result) RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-07-03 15:25:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!