![]() |
|
Модераторы: bsa |
![]()
|
|
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
Всем привет!
Вот есть bmp-файл. Предположим, я хочу прочесть из него какие-то расположенные по порядку 4 байта. Считываю эти байты функцией fread(buf,4,1,bmpfile) и теперь они у меня в char-массиве buf. Вопрос: как из этой последовательности 4х байт составить десятичное число???? Вот есть 4 байта: 0x96 0x00 0x00 0x00 (по-возрастанию слева-направо). Считываются они в массив buf, т.е. в данном случае у нас в buf[0] будет число 0x96. Так вот, пытаюсь я перевести это число в десятичное но у меня почему-то в результате получается отрицательное число!
Например, прочёл байт 0x96 в buf[0] и после выполнения строк tmp1=buft[0]/0x10; tmp2=buft[i]%0x10; в tmp1 оказывается число -6, а в tmp2 число -12 Это сообщение отредактировал(а) Frostya - 15.5.2009, 19:33 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
azesmcar,
а теперь обьясните пожалуйста эту строчку. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
ну..сначала приводим к указателю на тип int
потом разыменовываем
в двух словах - указываем что по адресу на который указывает наш указатель на самом деле лежит целочисленный тип, и берем его значение. это конечно не очень переносимо, переносимое решение - это учитывать размер переменной типа int (так как гарантии на его размер нет) и не забывать про little-endian, big-endian. |
||||
|
|||||
![]()
|
| Правила форума "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. |