![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
Здравствуйте, как можно перевести int и float в набор байтов и обратно?может есть какаято copymemory или еще что то??
Это сообщение отредактировал(а) Graf_h - 27.5.2009, 17:44 -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
||||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
набор байтов как вы будете хранить? в bitset? |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
Alca, мне нужно именно перевод в байты, например число int a=5 должно быть представленно в виде 0#0#0#5, а потом обратно из байтов в число.
Добавлено через 1 минуту и 48 секунд zim22, у меня есть масив unsigned byte, мне нужно туда загнать все байты, и потом оттуда же и читать. -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Graf_h
число и так представлает из себя набор байтов. Вопрос в его представлении?
|
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
azesmcar, конечно байты, но ваш вариант не дает нужного результата. мне нужно получить все байты. если число int(4 байта) у меня и должны быть все 4 байта, а не один символ. Вопрос в том как их получить??
Это сообщение отредактировал(а) Graf_h - 27.5.2009, 18:44 -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
все 4 байта - это int. А у меня массив байтов.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
если правильно применить дает
Добавлено через 1 минуту и 42 секунды azesmcar, без преобразования к инту выведет немножко не то, чего просит тс. |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
mes, может можно как то скопировать память?? ведь в памяти числа представлені байтами, вот взять єти 4 байта, и скопировать в масив байтов?псевдокод:
Есть в С что то подобное?? -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
mes, введите число 257 и выведите на экран: должно быть 0#0#2#255 а у вас дает непонятно что:(
-------------------- Иногда переменная - это просто переменная |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
не совсем понятно чего хочет ТС. скопировать в массив из 4 байтов? так преобразования достаточно Добавлено через 2 минуты и 32 секунды
У вас неправильное представление о хранении чисел в памяти. вот ваше число 257 в памяти 00000000 00000000 00000001 00000001 потому и печатает #0 #0 #1 #1 Добавлено через 3 минуты и 55 секунд 0#0#2#255 это 00000000 00000000 00000010 11111111 = 767 |
||||
|
|||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
azesmcar, да я пробовал с memcpy:
unsigned char buffer [4]; int a=257 memcpy(buffer,(void*)&a,sizeof(int)); printf("%d",buffer[0]); printf("%d",buffer[1]); printf("%d",buffer[2]); printf("%d",buffer[3]); выводит 1,1,0,0;:( -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
есть. Только чтоб предложить Вам то, что Вам нужно, нужно понять, чего Вы хотите получить в итоге. для копирования памяти можно использовать memcpy a можно скопировать число прямиком в массив
можно использовать юнион
а можно вобще использовать без всяких копий, как показано выше, так как в памяти число так и так представлено набором байт. |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |