Форум программистов, компьютерный форум CyberForum.ru

Как объединить пару байт в слово? (Загрузка WAV, Big Endian) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Bug31
Заблокирован
31.07.2013, 21:02     Как объединить пару байт в слово? (Загрузка WAV, Big Endian) #1
Привет! Есть звуковой файл с 16-и битными амплитудами. Да не суть. После открытия файла и чтения всяких заголовков, остаются чистые RAW данные, тоесть байты. Исходя из того, что файл у нас 16-и битный, в этих данных идут нужные мне амплитуда (просто значения) по два байта на каждую. Тоесть идёт последовательность байт: 0,1,2,3,4,5,6,7....и тд здесь первое значение хранится в первых двух байтах, тоесть в 0 и 1, второе в 2 и 3 и тд...
Поскольку в простейшем случае можно считывать данные по байтно, возникает вопрос, как два считанный байта (short) объединить в одно слово (int) ?
Можно конечно же считывать сразу интом, но дело в том, что данные могут идти в разных как бы комбинациях, тоесть Big Endian и Little Endian... тоесть в прямом и обратном порядке, в одном INT сработает, а в другом - нет. Хотелось бы узнать, как просто напросто два short объединить в один int ?
P.S.: В WinApi есть всякие WORD, DWORD, HIBYTE, LOBYTE и пр... Но хотелось бы обойтись без WinAPI ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2013, 21:02     Как объединить пару байт в слово? (Загрузка WAV, Big Endian)
Посмотрите здесь:

C++ Объединить массив байт в целое число в с++
Чтение 16-и битных слов из бинарника (загрузка Wav) C++
Порядок байт в big-endian и little-endian C++
C++ функция изменяет старший байт числа на заданное значение не изменяя младший байт
Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару C++
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово C++
C++ Big-endian тестирование

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.07.2013, 21:49     Как объединить пару байт в слово? (Загрузка WAV, Big Endian) #2
записать по-битого один short int в два char тут есть и то что вам нужно
Yandex
Объявления
31.07.2013, 21:49     Как объединить пару байт в слово? (Загрузка WAV, Big Endian)
Ответ Создать тему
Опции темы

Текущее время: 03:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru