PHP 長整數的進製轉換

2021-08-29 20:38:05 字數 749 閱讀 7893

因為需要將乙個16進製制的長整數轉換成36進製,然而php浮點數只支援14位數,用自帶的base_convert()進製轉換函式會丟失精度,無奈之下只能利用bc數學函式自己寫進製轉換。

**如下:

/**

* 高精度的進製轉換

* @param $num //轉換的數

* @param $from_base

* @param $to_base

* @return string

*/function accurate_base_convert($num,$from_base,$to_base)

for($i = 0;$i < 26;$i++)

//分割

$arr = str_split(strtolower($num));

//先轉10進製

$result_10 = 0;

for($i = (count($arr) - 1),$k = 0;$i >= 0 && $k < count($arr);$i--,$k++)

}//再轉目標進製

$result = ;

$quotient = $result_10;

while($quotient)

//反轉輸出

$output = '';

for($i = (count($result) - 1);$i >= 0;$i--)

return $output;

}

整數間的進製轉換

先來個段子吧 有個學生抱著一摞書出圖書館,探測儀響了,學生慌忙放下書一本本過探測儀,於是阿姨說,虧你還是大學生,於是把一摞書分成兩半,一半一半的過探測儀,很快就找到了觸發警報的那本。這個阿姨採用了指數效應log2n原理,化簡為繁,那麼為什麼不採用底數為3呢?豈不是更塊?其實探測儀的結果只有兩種 是與...

PHP 進製轉換

函式 描述int intval miexd var 返回var的整數值 float floatval mixed var 返回var的浮點數值 string strval mixed var 返回var的字串值 var dump intval 3.14 var dump floatval 50 va...

高精度整數的進製轉換

十進位制轉換為某進製 除基取餘法 題目描述 將m進製的數x轉換為n進製的數輸出。輸入 輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出 輸出x的n進製表示的數。樣例輸入 16 10 f樣例輸出 15輸入時字...