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列印16進制和16進制轉10進制
<?php
$a=0x20;
//列印十六進制
printf("0x%x",$a);//結果0x20
?>
<?php
$a=0x20;
//列印十六進制
echo'0x'.dechex($a);//結果0x20
//hexdec--十六進制轉換為十進制
echohexdec($a);//結果50
C. PHP數據類型里的整型的問題(10進制和8進制)
十六進制轉十進制:0X1A中0X是16進制的開始位,A代表10,1A=10*16^0 + 1 * 16^1 = 10+16=26.
A,B,C,D,E,F這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方,依次類推。
八進制轉十進制:0是8進制的開始位,123=3*8^0+2*8^1+1*8^2=83.
八進制數的第0位的權值為8的0次方,第1位的權值為8的1次方,第2位的權值為8的2次方,依次類推。
整型一般就是10,8,16進制,2進制一般用於存儲。
D. php 字元串轉float
思路:
先把字元串轉成10進制整數,再把整數轉成float數值
具體代碼
$str='0f00391a';
$d=hexdec($str);
var_mp($d);
$f=floatval($d);
var_mp($f);
輸出:
int(251672858)
float(251672858)
E. PHP16進制格式字元串,轉換成具體值的方法
最簡單的就是base_convert()函數,可以實現2進制,8進制,10進制,16進制間的任意轉換,
還有hexdec()可以實現16進制轉換成10進制。
F. PHP代碼中包含10進制和16進制還有字母混合如何轉換成正常代碼
把上面的代碼存儲成 一個單獨文件a.php
新寫個php腳本,fopen a.php,把內容寫到一個字元串變數$str里,正則批量替換$str的內容就可以了。
G. PHP 怎麼用parseInt
parseInt是javascript中的函數,用於將指定進制的數字字元串轉換為十進制數字,第一個參數為待轉換的字元串,第二個參數為字元串的進制數,默認為10。
在php中如果要將字元串轉為數字,可以用intval函數:
intintval(mixed$var[,int$base=10])
通過使用指定的進制 base 轉換(默認是十進制),返回變數 var的 integer 數值。 intval() 不能用於 object,否則會產生 E_NOTICE 錯誤並返回 1。
var變數為要轉換成 integer 的數量值
base變數可選,默認為10,為轉化所使用的進制
如果 base 是 0,通過檢測 var 的格式來決定使用的進制:
如果字元串包括了 "0x" (或 "0X") 的前綴,使用 16 進制 (hex);否則,
如果字元串以 "0" 開始,使用 8 進制(octal)
否則,將使用 10 進制 (decimal)。
成功時返回 var 的 integer 值,失敗時返回 0。空的 array 返回 0,非空的 array 返回 1。
用法基本與JavaScript中的parseInt一致。
H. 關於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);
?>
I. php編程:將26位字母進制轉換為10進制數字,如何做
主要是加權法。
10進制結果=∑各位上的值*(進制數^各位權值)
a^b表示a的b次方。
比如你說的26進制
a->1
s->19
d->4
那麼asd=1*(26^2)+19*(26^1)+4*(26^0)=1174(10進制)
如果是8進制數456=4*(8^2)+5*(8^2)+6*(8^0)=302(10進制)
分太少,不寫源程序了,建立索引數組$arr[a]=1$,arr[b]=2..
再把輸入的字母拆成單字元倒序數組使得$single[2]=a,$single[1]=s,$single[0]=d,按上面方法權值相加。
你懂的。
J. php怎麼將16進制浮點型數字轉為十進制
步驟:
1、234.324轉換為二進制 11101010.01010…… 這會損失精度,別說不知道
然後科學計數法表示為,1.1101……*2^7
2、127+指數7 二進制為10000110
3、【0】【10000110】【1101……】,0表示正數,中間為2步驟的二進制,後面為23位科學計數法中的小數點後數字,不足後面補0
4,每4位轉換到一個16進制數,0100 0011 0110 ……轉換
4 3 6 ……