Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Конвертация little-endian в big-endian из буфера

490
08 ноября 2008 года
frid-karatel
357 / / 15.09.2007
1. Есть буфер Buff размером с 1Мб
2. В него загружается информация (не из файла, а динамически)
3. В буфере есть числа, которые записаны в формате little-endian

Необходимо как-то преобразовывать числа из little-endian в big-endian из буфера.

Например: Buff[10], Buff[11], Buff[12] и Buff[13] содержат 0x01020304. Надо получить 0x04030201.

Сделал через AnsiString :rolleyes: примерно так:
 
Код:
AnsiString s = "";
for (int a = 0; a < 4; a++) {
  s = s + IntToHex(Buff[10 + a], 2);
}
// Ну и потом переворачиваю через s.SubString(...)


Это кривовато, но не знаю, как провернуть это лучше...
247
09 ноября 2008 года
wanja
1.2K / / 03.02.2003
А руками?
 
Код:
char hc=Buff[10];
Buff[10]=Buff[13];
Buff[13]=hc;
char hc=Buff[11];
Buff[11]=Buff[12];
Buff[12]=hc;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог