PHP 16进制字符串 取和 并取低八位

场景:蓝牙硬件返回指令 低八位 补位

function getSignalSum($signal){
				//获取指数据
							//$signal = '55aa0502010001010100000000005f';
							//去头 尾部 规则 从第6位向前取20位
							$signal = substr($signal,4,22);
							//获取设备类型 前2位
							$jinz = array();
							//2位循环
							for($i=0;$i<strlen($signal);$i=$i+2){
								$jinz[] = substr($signal,$i,2);
							}
							//求和
							$sumval = 0;
							foreach($jinz as $v){
								$sumval = $sumval+hexdec($v);
							}
							//sumval 是10进制的和,转成16进制
							$sumval = base_convert($sumval,10,16); 
							//取后面两位
							$va =  substr($sumval,-2); // = 27
							//取低八位
							return $va&0xff;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值