今天看了一些基础语法,什么二进制,六进制,八进制,十六进制的实在有点理解不了,所以就直接记录下来,方便以后需要可以随时调用。
整数类型
整数类型:保存整数数值(范围限制),4个字节存储数据,最大就是32位:42亿多。但是在PHP中默认是有符号类型(区分正负数)
在PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义
$a = 120; //10进制
$a=0b110; //2进制
$a=0120; //8进制
$a=0x120; //16进制
十进制:逢10进1,能够出现的数字是0-9
二进制:逢2进1,能够出现的数字是0-1
八进制:逢8进1,能够出现的数字是0-7
十六进制:逢16进1,能够出现的数字是0-9以及a-f,a表示10,依次类推
进制转换:手动转换
10进制转二进制:除2倒取余法
不管得到的结果如何,需要补足32位:前面补0:00000000 00000000 00000000 00001010
10进制转二进制:取出最大的2的N次方,直到结果为0
二进制到十进制之间的转换:从右侧开始,将对应的第几位作为2的指数,然后将所有的结果相加
PHP中不需要用户这么复杂的去计算,提供了很多的函数进行转换
Decbin():十进制转二进制
Decoct():十进制转八进制
Dechex():十进制转十六进制
Bindec():二进制转十进制
下面是关于进制的练习:
实现页面转换进制问题。
下拉框选项:二进制,八进制,十六进制
提高要求:填写完输入框值转换后,对用的输入框还保留原来的值,该怎么做?
答案:
<?php
$values = '';
if(!empty($_POST)){
$num = $_POST['num'];
$zhuanhuan = $_POST['zhuanhuan'];
if($zhuanhuan == 2){
$values = decbin($num);
}elseif($zhuanhuan == 8){
$values = decoct($num);
}else{
$values = dechex($num);
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简历</title>
</head>
<body>
<form action='' method="post">
十进制:<input type="text" name="num">
请选择要转换的进制:
<select name="zhuanhuan" id="">
<option value="2">二进制</option>
<option value="8">八进制</option>
<option value="16">十六进制</option>
</select>
<input type="submit" value="转换">
转换结果:<input type="text" value="<?php echo $values ;?>"><br>
</form>
</body>
</html>