给出两个用字符串表示的二进制数,返回他们的和(也用字符串表示)
例如:
a ="11"
b ="1"
返回"100".
<?php
function addBinary($a, $b) {
$i = strlen($a) - 1;
$j = strlen($b) - 1;
$str = '';
$flag = 0;
while ($i >= 0 || $j >= 0) {
if ($i >= 0 && $j >= 0) {
$add = $a[$i] + $b[$j] + $flag;
} else {
if ($i >= 0) {
$add = $a[$i] + $flag;
} else {
$add = $b[$j] + $flag;
}
}
if ($add == 2) {
$flag = 1;
$add = 0;
} else {
$flag = 0;
}
$str = $add . $str;
$i --;
$j --;
}
if ($flag == 1) {
$str = 1 . $str;
}
return $str;
}
$a = '011';
$b = '1';
$str = addBinary($a, $b);
print $str;