![]() |
|
Модераторы: bsa |
![]()
|
|
| eXa |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Чем WORD, DWORD, BYTE между собой отличаются? Какая разница при чтении этих переменных
Как правильно записать 00 00 00 01 в DWORD, 00 01 в WORD, F4 A1 в BYTE. Можеть статьи есть какие?) Это сообщение отредактировал(а) eXa - 24.1.2008, 21:41 |
||||
|
|||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
eXa, чего, куда и откуда класть? Что за огрызок кода? В чём заключается сам вопрос?
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
поправил... нечайно создал тему не дописав вопроса)
Это сообщение отредактировал(а) eXa - 24.1.2008, 21:30 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
eXa,
Теперь такие моменты: 1. Засунуть в BYTE два байта(f4 a1) невозможно. 2. Именовать переменную 2_3 недопустимо. Добавлено через 5 минут и 18 секунд Размером. DWORD - 4 байта WORD - 2 байта BYTE - угадай сам И, соответственно, диапазоном возможных значений. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Печать:22f2a Почему выводит только packet.text_1 = 0x2A; packet.mat_1 = 0x2F; packet.text_2 = 0x0002; и почему идёт запись с конца? Это сообщение отредактировал(а) eXa - 24.1.2008, 21:52 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Смотри, есть такой тип int. AFAICS - на твоём компиляторе int занимает 4 байта. Форматной инструкцией %x ты говоришь printf'у вывести на экран одну переменную типа int в шестнадцатиричном виде, а передаёшь ты ему целую структуру размером, заведомо большим, чем размер int, но, т.к. printf не знает что именно ты ему передал, он может только "догадываться", основываясь на форматных инструкциях, которые ты ему указал. Т.к. ты попросил вывести число типа int он его и выводит, а то что там дальше ещё байты есть - ему до лампочки(я бы даже сказал, что это очень плохо, что ты передаёшь ему больше данных, чем заявил - может привести к повреждению стека).
Добавлено через 4 минуты и 57 секунд Little endian(на английском лучше). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
не может -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| eXa |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Как я понимаю правильная запись для последующей передачи по сети будет выглядить так?
И как правильно тогда передавать данные? Это сообщение отредактировал(а) eXa - 24.1.2008, 22:40 |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
правильно - это когда спецификация тождественна переданным данным -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| eXa |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
что тут правильней чем %x O_o
Мне главное очень важно знать, для передачи по сети, эта правильная запись?
Это сообщение отредактировал(а) eXa - 24.1.2008, 23:04 |
||||||
|
|||||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
eXa,
в printf передавай значения полей структуры (согласно приведенной тобой спецификации), а не саму структуру -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
MAKCim только по полям выводить, разве нельзя всю сразу? на то она и структура...
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
можно все... вопрос зачем?
вы главное не забывайте про 1) выранивание полей в структуре 2)необходимости того что вы делаете 3)в стек будет (у вас) вместо байта (Если вдруг захотите пихать его вообще) пихаться int ("особенность процессора") -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Сообщения были разделены в тему Как передавать char * по сети? Это сообщение отредактировал(а) archimed7592 - 25.1.2008, 17:02 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |