|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.04.2020, 14:44 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Перевёрнутые числа в бинарном файле
Здравствуйте.
Есть две программы, написанные на C++ и Java. Они пишут числа в бинарный файл. Необходимо, чтобы они могли читать данные, записанные друг другом. Но вот проблема: Java пишет так Код:
Код:
И как тогда на Java писать числа так же как в WinAPI, чтобы программа на С тоже могла их читать? Понятно что можно переворачивать, но как? |
21.04.2020, 19:26 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Java сохраняет данные с порядком байтов Big Endian, а WinAPI, похоже, Little Endian. Не знаю, как именно правильно (быстро и эффективно) подгонять порядок на Java, но теперь вам будет что погуглить.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
22.04.2020, 08:05 | #3 | |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
WinAPI тупо пишет блок памяти. Как числа в памяти лежат, так и пишет.
А вот почему Java переворачивает - надо смотреть Действительно, прямо в доке написано Цитата:
Последний раз редактировалось Black Fregat; 22.04.2020 в 08:17. |
|
22.04.2020, 14:16 | #4 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
Код:
Код:
|
|
23.04.2020, 05:26 | #5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
23.04.2020, 08:50 | #6 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
просто надо было добавить метод
Код:
Я думал, что этот метод уже где-то в базовых классах прописан. Пардон, ошибочка вышла. Надо вот так: Код:
В чем разница, две или три? Последний раз редактировалось BLACK_RAIN; 23.04.2020 в 11:44. |
23.04.2020, 22:10 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
>>> - беззнаковый сдвиг (в старшие биты всегда будет записываться 0), а >> - знаковый (в старшие биты запишется значение знакового бита). В данном случае срабатывают одинаково из-за масок, которые отбрасывают те биты, в которых будет различие.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поиск hex значения в бинарном файле (большого объема) | witia03 | Общие вопросы Delphi | 10 | 23.05.2012 20:25 |
сортировка структуры в бинарном файле | миклух | Общие вопросы C/C++ | 0 | 16.04.2012 10:00 |
сортировка структур в бинарном файле | vvsh | Общие вопросы C/C++ | 1 | 25.06.2011 16:04 |
Сортировка списка в бинарном файле | J_D | Помощь студентам | 0 | 28.05.2011 10:34 |
Поиск числа в бинарном файле. | mazak | Общие вопросы C/C++ | 5 | 18.02.2010 12:05 |