Выбор порядка следования операций |
Здравствуйте, гость ( Вход | Регистрация )
Выбор порядка следования операций |
AD |
2.3.2010, 11:27
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Прошу помочь записать следующую функцию так, чтобы порядок следования операций был однозначно ясен. По сути, расставить правильно скобочки. А лучше переписать в несколько строк, но с однозначным исходом операций.
Функция не моя. Я свойства операции ^ плохо знаю. Буду благодарен за помощь. |
|
|
Litkevich Yuriy |
2.3.2010, 14:14
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
и числа 255. всё таки правильнее, говорить о числе 0x00FF, т.к. сразу видно, что число 16 разрядное.Да и по сути это маска, т.к. операция "И" даст ИСТИНУ, только если оба операнда являются ИСТИННЫМИ (т.е. "1"). Другими словами, старшие 8 бит будут всегда равны "0" Я как-то уже выкладывал, где-то. Код для вычисления CRC-16, одной из разновидностей. Вот ещё раз (табличный метод): crc16.h
crc16.c
|
|
|
AD |
2.3.2010, 14:17
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Да судя по всему та же функция. Вот таблица:
Раскрывающийся текст
|
|
|
AD |
2.3.2010, 15:52
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Мда .... уж. Вопрос решился. Спасибо за помощь.
Дело было в том, что была использована функция memcpy, которая, видимо, где-то тянула мусор, из-за чего crc при вычислении различались! |
|
|
Текстовая версия | Сейчас: 28.1.2025, 22:23 |