Д
Size: a a a
Д
КН
AS
<?php
function test() {
echo "base1: " . binarySum('10', '1') . "\n"; // 11
echo "myCustom1: " . binarySum('10', '1') . "\n";
echo "base2: " . decbin(bindec('1101010') + bindec('11001')) . "\n";
echo "myCustom2: " . binarySum('1101010', '11001') . "\n";
}
function binarySum($a, $b)
{
$result = "";
$min = ($a < $b) ? $a : $b;
$max = ($a > $b) ? $a : $b;
$buffer = "0";
for($i1 = strlen($max) - 1, $i2 = strlen($min) - 1; true; $i1--, $i2--) {
//Считаем
$exp = $max[$i1] + (($i2 >= 0) ? $min[$i2] : 0);
if ($exp === 2)
$exp = "10";
//Считаем буфер
if ($buffer === "1"){
$exp = $exp + 1; //11
if ($exp === 2)
$exp = "10";
$buffer = "0";
}
//Буферизуем лишнее
if (strlen($exp) === 2){
$buffer = $exp[0];
$exp = $exp[1];
}
$result = "{$exp}{$result}";
//Последняя итерация
if ($i1 === 0){
$result = "{$buffer}{$result}";
break;
}
}
return $result;
}
test();
AR
🅱
S)
Д
ПА
AT
IV
AR
IV
AR
AT
МО
МО
A
AT
VK