2017-02-12 16 views
0

1010000/1011 с использованием двоичного модуля 2 Остаток отдела 011. i.e 80/11 остаток = 3. Я знаю, как сделать это в двоичной системе, но как я могу вычислить выше результата с помощью десятичных значений 80 и 11.Смещение по модулю 2 с использованием десятичного числа (используется в CRC)

ответ

0

Modulo 2 деления и деления на целое число являются две разные вещи. В общем, они не дают одинаковых результатов.

В конкретном примере вы дали, только случайно, они дают тот же результат, 3.

Вы не можете вычисления деления по модулю 2 остатка с помощью арифметического деления. Вы должны использовать битовые операции.

+0

Согласен. Но мой вопрос заключается в том, что, если я хочу сделать Modulo 2 Division, используя целые числа. Напр. Если я хочу выполнить побитовый сдвиг влево, я просто умножу его целочисленное значение или десятичное значение на 2. 1. 1010 << 1 = 10100 операция эквивалентна 10 * 2 = 20. Similary Если я хочу сделать Modulo 2 Binary Division, используя int или десятичное значение, то как я могу это сделать? – Kanika

+0

Право сдвига целого числа совпадает с делением на два, так как низкий бит после деления отбрасывается. Однако нет арифметических операций, которые позволят вам легко реализовать эксклюзивные или. Для вычисления остатка по модулю-2 вам понадобится поэтапная эксклюзивная операция или операция. –