/**
* 加法
*/
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