/** * 加法 */ function add($int_num) { $int_num = decbin($int_num); //取得整数的二进制 $new_int_num = ''; //新字符 $i = strlen($int_num) - 1; //从字符串末尾开始读取字符 for($i;$i>=0;$i--) { if($int_num[$i] == 1) { //如果读取到的是 1 则 在新字符中拼入 0 $new_int_num .= '0'; }else if($int_num[$i] == 0 || $int_num[$i] == '') { //如果读到的是 0 或 空 则在新字符中 拼入 1 $new_int_num .= '1'; $j = $i - 1; //将字符中剩余未读取的部分倒序取出来拼入新字符中 for ($j;$j>=0;$j--) { $new_int_num .= $int_num[$j]; } //跳出 循环 break; } } //将新字符中的字符首尾反转过来 比如 1101 反转成 1011 $i = strlen($new_int_num) - 1; $int_num = ''; //反转后字符 for ($i;$i>=0;$i--) { $int_num .= $new_int_num[$i]; } //将反转后字符的转换成十进制 返回 return bindec($int_num); } echo add(100); // 101