|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.08.2012, 01:08 | #1 |
Пользователь
Регистрация: 23.11.2011
Сообщений: 49
|
непонятный кусок кода на с++
есть кусок кода, который решает проблемы, с пакетом-переростком, который обнаруживается при парсинге
Код:
Код:
|
27.08.2012, 03:36 | #2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
if (header[0] & 0x80) // что это за if такой
если в 7 бите числа(считай с младших разрядов) единица - условие истинно. 0x80 = 128 в десятичной СС (поэтому 7 бит), & - битовое И дальше примерно тоже самое... (((header[0] & 0x7F) << 16) << битовый сдвиг 7F = 127, т.е. на header[0] накладывается маска, и берутся неизменными только 6 младших разрядов. Берутся и сдвигаются влево на 16 разрядов Вобщем почитай про всякие побитовые операции, цитировать тут учебники смысла нет. |
27.08.2012, 08:40 | #3 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Кстати, просто замечу, что запись вида
Код:
Например, 0x2[16] = 2[10] 0x9[16] = 6[10] // вот тут опечатка. Не буду исправлять уже. 0xFF[16] = 255[10] 0x42[16] = 66[10] В квадратных скобках указано основание системы счисления. Последний раз редактировалось Вадим Мошев; 27.08.2012 в 17:23. |
27.08.2012, 09:00 | #4 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
насколько я помню, 0x9[16] = 0x9[10]
Правильно поставленная задача - три четверти решения.
|
|
27.08.2012, 17:22 | #5 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
27.08.2012, 17:38 | #6 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
больше привык к записям типа 09h = 9d
Правильно поставленная задача - три четверти решения.
|
|
27.08.2012, 19:12 | #7 | |
Пользователь
Регистрация: 23.11.2011
Сообщений: 49
|
Цитата:
а может кто переписать этот кусок кода, эти строчки на object pascal или FS(fastcript)? мой аналог на фастскрипте(похож на обжект паскаль вроде) не работает вот привожу что есть: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевести кусок кода из C++ в Delphi | jhonyxakep | Общие вопросы Delphi | 2 | 25.09.2011 08:28 |
Кусок кода не хочет работать. | Yagamy Liet | Общие вопросы Delphi | 31 | 19.08.2010 11:49 |
Нужен ли данный кусок кода? | iankov | PHP | 4 | 23.04.2009 20:49 |
помогите понять кусок кода | Arteom | БД в Delphi | 7 | 31.08.2007 08:51 |
Есть кусок кода | komarevsky | Общие вопросы Delphi | 7 | 19.07.2007 17:43 |