设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 2681|回复: 1
收起左侧

[PHP/ASP/JSP] PHP7获取文本字符串原始数据中的二进制比特0或1的数量并返回正整数(常量数组查表实现)

[复制链接]
发表于 2019-4-19 10:09:12 | 显示全部楼层 |阅读模式



  1. <?php
  2. define("B1NT",b1nt_init());                //0~255的二进制1的数量表
  3.        
  4. function b1nt_init(){
  5.         $return = array();
  6.         for($i=0;$i<256;$i++){
  7.                 $return[$i] = 0;
  8.                 for($j=1;$j<256;$j<<=1){
  9.                 if($i&$j) $return[$i]++;
  10.                 }
  11.         }
  12.         return $return;
  13. }


  14. function gdbn($data,$bit = 0){                //获取数据中二进制比特0或1的数量 参数1:数据 参数2:0或1(默认为0) 返回正整数
  15.         $len = strlen($data);
  16.         $return = 0;
  17.         for($i=0;$i<$len;$i++){
  18.                 $return += B1NT[ord($data[$i])];
  19.         }
  20.         return $bit ? $return : $len*8 - $return;
  21. }

  22. echo gdbn("Hello World! 中文测试",1);

  23. ?>


复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-26 04:48 , Processed in 1.166066 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表