2/8/16轉10進位制
<?php /* * 二進位制、八進位制、十六進位制轉十進位制 * @params $data 將該二進位制數轉10進位制 $decimal 指定傳進來的是幾進位制的數 */ function tDecimal($data, $decimal){ //如果為空直接返回 if(empty($data) && empty($decimal)){ return ; } $arr = array("0b"=>2,"0"=>8,"0x"=>16); $remainderArr = array(10=>`a`, 11=>`b`, 12=>"c", 13=>`d`, 14=>"e", 15=>"f"); $remainderArr_rev = array_flip($remainderArr); if(!in_array($decimal, $arr)){ return ; } $newData = (string)$data; //強制轉化為字串 $num = 0; $len = strlen($newData); for($i=0;$i<$len;$i++){ if($decimal == 16 && in_array($newData[$i], $remainderArr)){ $num += $remainderArr_rev[$newData[$i]]*pow($decimal,$len-$i-1); }else{ $num += $newData[$i]*pow($decimal,$len-$i-1); } } return $num; } var_dump(tDecimal("101", 2)); //int(5) var_dump(tDecimal("07", 8)); //int(7) var_dump(tDecimal("1f", 16)); //int(31)
相關文章
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- C# 2進位制、8進位制、10進位制、16進位制...各種進位制間的輕鬆轉換C#
- 十進位制轉化為2/8/16
- 2進位制_8進位制_16進位制之間快速轉換的技巧.txt
- 進位制轉化 10-->(2-16)
- 10進位制轉8進位制(棧操作)
- shell 中轉換16進位制10進位制
- Oracle 內部2,8,10,16進位制轉換函式包Oracle函式
- 10進位制和16進位制互轉的例子
- 口算 16 進位制轉換 10 進位制,但只適合兩位的 16 進位制
- printf()將10進位制數安照輸出16進位制,8進位制輸出
- C printf按8進位制、10進位制、16進位制輸出以及高位補0
- oracle_16進位制與10進位制轉換小示例Oracle
- sql實現10進位制16進位制轉換函式SQL函式
- 10進位制 VS 2進位制
- 負數補碼(16進位制轉10進位制的負數)
- Java中8進位制和16進位制的表示方法Java
- PHP負數轉16進位制再轉到10進位制的正確姿勢PHP
- 在c語言中輸出8進位制數,16進位制數C語言
- 關於10進位制轉2進位制的C語言程式碼C語言
- rowid與10進位制和2進位制之間的轉換
- 彙編實現10進位制轉16進位制並以ASCII碼輸出ASCII
- C語言中printf打出2進位制與16進位制數C語言
- 16進位制字串轉位元組字串
- 3416:【例72.1】 二進位制轉化為十進位制
- Qt進位制轉換(十進位制轉十六進位制)QT
- 位元組流轉16進位制字串字串
- 資料轉換-16進位制字元字元
- 根據block的16進位制格式轉化成10進製表示BloC
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 計算機求解10進位制轉換任意進位制計算機
- 1474 十進位制轉m進位制+1475 m進位制轉十進位制
- n進位制轉十進位制
- 十進位制轉十六進位制
- C# 解析16進位制字串。將16進位制字串轉換成明文字串C#字串
- 1161:轉進位制(C C++)C++
- c++ 16進位制資料轉doubleC++
- UIColor 轉成 Hex 16進位制色值UI