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

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

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

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< $len; $i++ ){
            $decimal = '0'.$decimal;
        }
    }
    $decimal = str_split($decimal);
    $gray = '';
    foreach($decimal as $k=>$v){
        if($k == 0){
            $gray .= $v;
        }else{
            $gray .= $decimal[$k-1] ^ (int)$v;
        }
    }
    return $gray;
}


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