"PHP" / Говнокод #29168 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
<?php
function hsum($a, $b, $p) {
    $hs = $a ^ $b;
    $hp = $a & $b;
    $p <<= 1;
    return [$hs ^ $p, $hp | ($hs & $p)];
}

function hsum_rec($a, $b, $p) {
    list($s, $newp) = hsum($a, $b, $p);
    if ($newp == $p) {
        return [$s, $newp];
    } else {
        return hsum_rec($a, $b, $newp);
    }
}

function sum2($a, $b) {
    list($s, $p) = hsum_rec($a, $b, 0);
    return $s;
}

for($i = 0; $i < 16; $i++) {
    for($j = 0; $j < 16; $j++) {
        if(sum2($i,$j) != $i + $j) {
            $k = sum2($i,$j);
            echo "Error: $i, $j, $k\n";
        }
    }
}

Программа складывает два целых числа.

Запостил: Myxa Myxa, (Updated )

Комментарии (8) RSS

  • Объяснялка. Программа пытается реализовать полный двоичный сумматор. Многоразрядный.

    Поскольку алгоритм вычисления битов переноса таков, что многобитными операциями AND, OR, XOR и сдвигами его реализовать невозможно, нужно делать цикл по битам, а так любой петух сможет, я решил сделать по-другому: сделал жужжалку, которая вычисляет переносы из разрядов рекурсивно, по принципу мухи, то есть как жужжит муха. Бззззззззз!

    Сам не верю, но тесты проходит.
    Ответить
  • Нидлесс! Как думаешь, на Рефале или на Сноболе будет красивее?
    Ответить
  • Самые охуеннгые в мире животные это веерокрылые насекомые.
    они откладывают яйца в ос, и потом живут в осах, а потом вырываются наружу.

    Самцы живут до пяти часов, и не едят.
    А самки не имеют ни крыльев, ни ног, и вообще ничего не имеют, просто лежат недвижимо внутри осы, и ждут когда самец их трахнет, чтобы отложить яйца, и умереть
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8