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

分类: PHP,分享  • 发布时间: 2015-03-29 21:23:00  • 浏览量:10429

这个和之前那篇文章的实现思路相似,没有用php的位运算,效率会低些,算是完整的反映了转换规则, 基本上就是:格雷码 转成 二进制码 转成 十进制码


function gary_to_decimal($gray){
    $gray = str_split((string)$gray);
    $decimal = '';
    $prev = 0;
    foreach($gray as $k=>$v){
        if($k == 0){
            $decimal .= $prev = $v;
        }else{
            $decimal .= $prev = (int)$v ^ $prev;
        }
    }
    //将获得的二进制码转换成十进制码
    return bindec($decimal);
}


文章标签: php, 格雷码, 二进制, 十进制