1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Генерирование байтов

Тема в разделе "WASM.ARTICLES", создана пользователем Entropy, 16 окт 2020.

  1. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    647
    Адрес:
    Russia
    Поломайте-ка голову )

    Берем произвольное четырехбайтовое (32 бит) число. Представляем его как сумму других чисел, сумма факториалов которых дает начальное число, которое мы таким образом пытаемся представить. И, судя по http://math-prosto.ru/?page=pages/calculators/factorial_online.php , каждое из этих составляющих будет не больше 12 (т.е. занимать не более 4 бит, 13! = 6 227 020 800 и это уже больше 232), т.о. таких чисел максимум мы можем найти 8 (8×4=32 бит), ежели мы не смогли представить начальное число как меньше 8 таких маленьких чисел, "сжатие" не удалось.

    Т.е., разбираем на составные, к примеру, число 100500999 (32 бит) = 7!+8!+2!, например. Эти 3 числа каждое макс по 4 бита, соот-но, 4×3=12 бит они заняли, условно, места.

    В ЛолПаке я представлял начальное число как сумму других чисел, которые возводил в (фиксированную) степень. Не получилось ужимать.

    12! = 479 001 600, для "описания" 232 таких чисел уже нужно ~9.