php专区

 首页 > php专区 > PHP进阶 > 算法 > 十进制码转格雷码的PHP的一种实现写法

十进制码转格雷码的PHP的一种实现写法

分享到:
【字体:

位运算好像也可以,这个实现思路是用的字符串截取,呵呵 十进制 转成 二进制,然后再用二进制转成格雷码

function decimal_to_gray($decimal){
    //$decimal = str_split((string)decdecimal($decimal));
    //先把十进制整形树字转换成二进制码
    $decimal = (string)decbin($decimal);
    $len = 4 - strlen($decimal);
    if($len > 0){
        for($i =0 ;$i$v){
        if($k == 0){
            $gray .= $v;
        }else{
            $gray .= $decimal[$k-1] ^ (int)$v;
        }
    }
    return $gray;
}

分享到:
产生n位元的所有格雷码
格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。 例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。 如果要产生n位元的格雷码,那么格雷码的个数为2^n. 假设原始的值从0开始,格雷码产生的规律是:第一步...
一个php写的截取字符串的函数
utf-8格式的文本在进行字符串截取时容易出现截到一部分的情况,而且容易出现乱码,这一个比较简单的函数,需要php开启mbstring扩展  $text是要截取的文本,$length是截取的长度,$suffix表示是否截取后带省略号 /** * 字符串截取,支持中文和其他编码 * @static * @access public * @param ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……