開發者筆記 進製轉換

2021-09-20 12:34:06 字數 1184 閱讀 4531

需求:

很簡單的乙個需求,就是:把1變成a,2變b,超過了z就從a0開始,aa,ab,ac……

原理:

這就是乙個實現【integer.tohexstring(123)】方法的問題,上述中輸入字串為123456789abcdef就是tohexstring,輸入字串是1234567就是tooctalstring,

輸入字串是1就是tobinarystring。那麼記錄一下原理吧

十進位制轉k進製的原則是整數部分除k取餘,小數部分乘k取整

那麼用a-z來表示數其實就是另類的27進製(26個字母+數字0),由於我們面對的只是整數,那麼就講a-z存在乙個字串中,然後對數字進行除27取餘,

在用餘數去找陣列中對應的字元,然後存到乙個stringbuilder裡面,最後返回結果的時候reverse一下就ok了。

邊界條件考慮:

0:那麼直接返回0

負數:先判斷數字的符號,將符號存在乙個sign變數裡面,最後追加到stringbuilder中即可,然後把負數乘上-1當成正數來處理

編碼:

package com.dyi.string;

public class kbasenumber

} public static string parsekbase(int num)

public static string parsekbase(int num, string base)

int k = base.length;

string sign = num >= 0 ? "" : "-";

num = num >= 0 ? num : -num;

stringbuilder result = new stringbuilder();

while (num > 0) else

} return result.reverse().tostring();

}}

結果:

朋友問的問題,順手記錄一下~

黑夜給了我黑色的眼睛,我卻用它尋找光明

開發者筆記 進製轉換

需求 很簡單的乙個需求,就是 把1變成a,2變b,超過了z就從a0開始,aa,ab,ac 原理 這就是乙個實現 integer.tohexstring 123 方法的問題,上述中輸入字串為123456789abcdef就是tohexstring,輸入字串是1234567就是tooctalstring...

開發者註冊

最近在被react native打包虐了乙個多星期 昨天終於搞定了 現在把打包的過程以及遇到的坑整理出來做個筆記 希望能給遇到相同問題的小夥伴們乙個參考。第一步 材料準備 1 乙個已付費的開發者賬號 蘋果開發者賬號的型別如下表 根據自己的需求以及實際情況選擇申請 附上不同證書的區別,請根據自己的需求...

BREW 初級開發者教程 筆記

第3章 brew 開發基礎 搭建brew 開發環境 安裝下面的順序安裝 visual c 6.0 net arm ads brew sdk 3.1.5 sp01 brew sdk tools 1.0.1 brew addin 3.0.0 brew tools suite 3.0.0 安裝方法 應用檔...