Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 14:09   #1
Galstuk1
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 16
Вопрос Расчёт контрольной суммы (язык программирования не имеет значения)

Всем привет
У меня есть правило вычисления контрольной суммы пакета (BCC, Block check character). Вот оно:

BCC is equal to the sum with the Exclusive "or" logic including 2 and 5 and between 2 and 5.

Где "2" и "5" это части отправляемого по кабелю пакета (всего 6 частей, причем шестая часть - и есть BCC).
Не могу понять правило; объясните, пожалуйста.
Galstuk1 вне форума Ответить с цитированием
Старый 16.04.2012, 14:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пакет состоит из байтов?
Как я понимаю, тебе нужно просуммировать числа, получаемые в выражении, использующем XOR, который перевоплощает каждый байт пакетов по некоему ключу - сумма и будет BCC
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.04.2012, 14:25   #3
Galstuk1
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 16
По умолчанию

Да, пакет состоит из байтов. Часть "2" содержит 2 байта, а часть "5" - от 1 до 2. Примем, что у нас есть 2 переменные размером по 2 байта. А что с ними делать для получения контрольной суммы не ясно( Такое запутанное предложение, еще и на английском. Не имеют же в виду, что нужно взять просто "2" xor "5"
Galstuk1 вне форума Ответить с цитированием
Старый 16.04.2012, 14:55   #4
Alitera
Пользователь
 
Аватар для Alitera
 
Регистрация: 13.04.2012
Сообщений: 20
По умолчанию

Доброе время суток!
Цитата:
Не могу понять правило; объясните, пожалуйста.
BCC(Block check character) - Контрольная сумма блока - это результат последовательной проверки данных на четность (логическая операция XOR всех байтов данных) посылаемого или принимаемого блока. Ее вычисление начинается с первого байта пользовательских данных (с первого байта фрейма сообщения) после
установки соединения и заканчивается после кода DLE EXT при освобождении линии связи.
Код:
Пример расчета:

|    Данные    |  DLE    ETX  | BCC
30H – 31H – 32H - 10H – 03H  - 20H

30	= 0011 0000
31	= 0011 0001
XOR	= 0000 0001

32	= 0011 0010
XOR	= 0011 0011

10	= 0001 0000
XOR	= 0010 0011

03	= 0000 0011
XOR	= 0010 0000

BCC	   2     0
помогла - жми на весы
Alitera вне форума Ответить с цитированием
Старый 16.04.2012, 15:06   #5
Galstuk1
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 16
По умолчанию

Огромное спасибо!
Galstuk1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подобрать алгоритм расчета контрольной суммы hypertonyc C/C++ Сетевое программирование 9 03.12.2012 22:26
Для каждого x, изменяющегося от a до b с шагом h, найдите значения функции Y(x), суммы S(x) и |Y(x)-S(x)| Язык Си zig1 Помощь студентам 2 01.02.2012 21:08
Вычисление контрольной суммы Natali1 Помощь студентам 0 21.01.2012 20:24
C++ шифрование контрольной суммы freeeeez Помощь студентам 1 22.05.2011 15:10