今天开始学习PHP-关于进制转换

今天看了一些基础语法,什么二进制,六进制,八进制,十六进制的实在有点理解不了,所以就直接记录下来,方便以后需要可以随时调用。

整数类型
整数类型:保存整数数值(范围限制),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>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值