導航:首頁 > 編程語言 > php進制轉換函數

php進制轉換函數

發布時間:2022-09-10 05:04:29

A. 用php寫一個進制轉換的程序。增加如下圖的一個表單,用PHP函數完成。10轉2,10轉8,10轉16進制。

<?php
$frombase ='';
$tobase ='';
if($_POST){
$frombase =$_POST['frombase'];
$type =$_POST['type'];
switch($type){
case1:
$tobase=base_convert($frombase,10,2);break;
case2:
$tobase=base_convert($frombase,10,8);break;
case3:
$tobase=base_convert($frombase,10,16);break;
}
}
?>
<formaction=""method="post">
數:<inputtype="text"name="frombase"value="<?phpecho$frombase;?>"size="20"/>
<selectname="type">
<optionvalue="1">10to2</option>
<optionvalue="2">10to8</option>
<optionvalue="3">10to16</option>
</select>
<inputtype="submit"value="轉換"/>
<inputtype="text"value="<?phpecho$tobase;?>"size="20"/>
</form>

試試看是不是您想要的寫法。

B. PHP中關於進制轉換獲得IP

先轉為10進制,然後long2ip(),比如long2ip(340154),16轉10進制函數:hexdec(cac82082)

C. 關於PHP進制轉換的代碼,求大神幫忙編寫一下。 2 8 16 可以實現這三個進制之間轉換的代碼。

PHP內置進制轉換函數:base_convert ,其詳細調用如下:

string base_convert ( string $number , int $frombase , int $tobase )

返回一字元串,包含 number 以 tobase 進制的表示。number 本身的進制由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之間(包括 2 和 36)。高於十進制的數字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

示例:

十六進制轉換成為二進制:

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

D. PHP 浮點進制轉換

下面是php實現的方法:
/**
*十六進制浮點型轉為十進制
*@paramString$strHex十六進制浮點數
*/
functionhexToDecFloat($strHex){
$v=hexdec($strHex);
$x=($v&((1<<23)-1))+(1<<23)*($v>>31|1);
$exp=($v>>23&0xFF)-127;
return$x*pow(2,$exp-23);
}

你說得很高深的樣子,又不舉例,不知道你究竟需要把什麼樣子的數轉換成什麼,上面是例子看看是不是你要的吧,如果不是,請一定舉例。

E. PHP 進制轉換 10進制轉2進制 自定義個函數

以下是一個轉換函數:

function dec_to_bin($datalist,$bin)
{
static$arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
if(!is_array($datalist)) $datalist=array($datalist);
if($bin==10) return $datalist; //相同進制忽略
$bytelen=ceil(16/$bin); //獲得如果是$bin進制,一個位元組的長度
$aOutChar=array();
foreach($datalist as $num)
{
$t="";
$num=intval($num);
if($num===0) continue;
while($num>0)
{
$t=$arr[$num%$bin].$t;
$num=floor($num/$bin);
}
$tlen=strlen($t);
if($tlen % $bytelen != 0)
{
$pad_len=$bytelen-$tlen%$bytelen;
$t=str_pad("",$pad_len,"0",STR_PAD_LEFT).$t; //不足一個位元組長度,自動前面補充0
}
$aOutChar[]=$t;
}
return$aOutChar;
}

其實,PHP的base_convert、decbin函數就可以完成類似功能。

F. PHP16進制格式字元串,轉換成具體值的方法

最簡單的就是base_convert()函數,可以實現2進制,8進制,10進制,16進制間的任意轉換,
還有hexdec()可以實現16進制轉換成10進制。

G. PHP函數怎麼把十進制轉換為二進制

PHP decbin函數的作用是把十進制轉換為二進制。

用法:

參數 描述

dec_number 必需。規定要轉換的十進制數。

示例:

<?php
echodecbin("3");
echodecbin("1");
echodecbin("1587");
echodecbin("7");
?>

輸出:

11
1
11000110011
111

H. php 進制轉換問題

strtr(),這個函數,替換,將0替換成\x0,就ok了,再加一個if(){}判斷,記得用==,true接下幹啥,false輸出error()。

I. 求將十進制數轉為十六進制數的JS或PHP代碼

JS十進制轉其他進制代碼如下var m = 10;document.write(m.toString(2) + "<br>"); // 顯示為 1010 二進制document.write(m.toString(8) + "<br>"); // 顯示為 12 8進制document.write(m.toString(10) + "<br>"); // 顯示為 10 十進制document.write(m.toString(16) + "<br>"); // 顯示為 a, 十六進制 php轉換函數如下:bindec() — 二進制轉換為十進制
decbin() — 十進制轉換為二進制
dechex() — 十進制轉換為十六進制
decoct() — 十進制轉換為八進制
hexdec() — 十六進制轉換為十進制
octdec() — 八進制轉換為十進制
base_convert()– 在任意進制之間轉換數字使用說明如下: 一,十進制(decimal system)轉換函數說明
1,十進制轉二進制 decbin() 函數,如下實例echo decbin(12); //輸出 1100
echo decbin(26); //輸出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十進制轉換為二進制
說明
string decbin ( int number )
返回一字元串,包含有給定 number 參數的二進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 32 個 1 的字元串。2,十進制轉八進制 decoct() 函數echo decoct(15); //輸出 17
echo decoct(264); //輸出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十進制轉換為八進制
說明
string decoct ( int number )
返回一字元串,包含有給定 number 參數的八進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 "37777777777"。3,十進制轉十六進制 dechex() 函數echo dechex(10); //輸出 a
echo dechex(47); //輸出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十進制轉換為十六進制
說明
string dechex ( int number )
返回一字元串,包含有給定 number 參數的十六進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 "ffffffff"。二,二進制(binary system)轉換函數說明
1,二進制轉十六制進 bin2hex() 函數$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//輸出f9
bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 將二進制數據轉換成十六進製表示
說明
string bin2hex ( string str )
返回 ASCII 字元串,為參數 str 的十六進製表示。轉換使用位元組方式,高四位位元組優先。2,二進制轉十制進 bindec() 函數echo bindec(\\\'110011\\\'); //輸出 51
echo bindec(\\\'000110011\\\'); //輸出 51
echo bindec(\\\'111\\\'); //輸出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二進制轉換為十進制
說明
number bindec ( string binary_string )
返回 binary_string 參數所表示的二進制數的十進制等價值。
bindec() 將一個二進制數轉換成 integer。可轉換的最大的數為 31 位 1 或者說十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數值,這種情況下,它會返回 float 類型。三,八進制(octal system)轉換函數說明
八進制轉十進制 octdec() 函數echo octdec(\\\'77\\\'); //輸出 63
echo octdec(decoct(45)); //輸出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八進制轉換為十進制
說明
number octdec ( string octal_string )
返回 octal_string 參數所表示的八進制數的十進制等值。可轉換的最大的數值為 17777777777 或十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。四,十六進制(hexadecimal)轉換函數說明
十六進制轉十進制 hexdec()函數var_mp(hexdec("See"));
var_mp(hexdec("ee"));
// both print "int(238)"

var_mp(hexdec("that")); // print "int(10)"
var_mp(hexdec("a0")); // print "int(160)"
hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六進制轉換為十進制
說明
number hexdec ( string hex_string )
返回與 hex_string 參數所表示的十六進制數等值的的十進制數。hexdec() 將一個十六進制字元串轉換為十進制數。所能轉換的最大數值為 7fffffff,即十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。
hexdec() 將遇到的所有非十六進制字元替換成 0。這樣,所有左邊的零都被忽略,但右邊的零會計入值中。五,任意進制轉換 base_convert() 函數$hexadecimal = \\\'A37334\\\';
echo base_convert($hexadecimal, 16, 2);//輸出 101000110111001100110100
base_convert
(PHP 3 >= 3.0.6, PHP 4, PHP 5)base_convert -- 在任意進制之間轉換數字
說明
string base_convert ( string number, int frombase, int tobase )
返回一字元串,包含 number 以 tobase 進制的表示。number 本身的進制由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之間(包括 2 和 36)。高於十進制的數字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

J. PHP取進制余數函數代碼

復制代碼
代碼如下:
//取進制位上的數值
function
getRemainder($num,
$bin,
$pos,
&$result
=
0){
//author
lianq.net
//$num
數值,十進制
//$bin
要轉換的進制
//$pos
位數
$real_len
=
log($num,
$bin);//對數,求原值長度
$floor_len
=
floor($real_len);//捨去求整
$base
=
pow($bin,
$pos-1);//基數
$divisor
=
pow($bin,$pos);//除數
if($num
>=
$divisor){
$new_num
=
$num
%
pow($bin,
$floor_len);
getRemainder($new_num,
$bin,
$pos,
$result);
}else{
$result
=
floor($num
/
$base);
}
return
$result;
}
//比如,數值16轉換為9進制時,它的第一位上的數值是多少?
$a
=
getRemainder(16,9,
1);
echo
$a;//輸出7

閱讀全文

與php進制轉換函數相關的資料

熱點內容
美食博主用什麼app拍視頻 瀏覽:812
ipone手機如何加密微信 瀏覽:354
自來水加密閥閥帽 瀏覽:431
華為交換機dhcp配置命令 瀏覽:315
androidbitmap縮小 瀏覽:271
單片機串口控制燈 瀏覽:84
大訊雲伺服器安裝視頻 瀏覽:784
華為演算法領先世界 瀏覽:654
linux路由重啟 瀏覽:566
php的模板編程 瀏覽:320
編譯器原理與實現書 瀏覽:709
dos選擇命令 瀏覽:17
apm固件編譯到單片機 瀏覽:121
聯通深藍卡都包含什麼app 瀏覽:264
如何判斷網路伺服器正常 瀏覽:652
路由器搭橋遠端伺服器地址是什麼 瀏覽:518
編譯動態庫時會連接依賴庫嗎 瀏覽:710
淘寶手機加密是隨機的嗎 瀏覽:675
解壓包子怎麼裝飾 瀏覽:588
四個數湊24演算法 瀏覽:679