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 ……