<?php
$a = [1,0,1,1,0];
$b = [1,0,0,1,0,1];
function test($a, $b) {
if (!$a || !$b) {
return $a ?: $b;
}
$c = [];
$carry = 0;
$len = max(count($a), count($b));
for ($i = 0; $i < $len; $i++) {
$tmp = 0;
$x = $a[$i] ?? 0;
$y = $b[$i] ?? 0;
$tmp = $x + $y + $carry;
$carry = $tmp < 2 ? 0 : 1;
$num = $tmp % 2;
$c[$i] = $num;
}
return $c;
}
var_dump(test($a, $b));
变种:
1 按照从高位到低位进行加法,需要对短数据进行高位填充0
最后
以上就是感性热狗最近收集整理的关于【算法】二进制加法的全部内容,更多相关【算法】二进制加法内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复