十进制码转格雷码的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< $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; }