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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Bug31
Заблокирован
#1

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

31.07.2013, 21:02. Просмотров 2294. Ответов 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)
Посмотрите здесь:
Порядок байт в big-endian и little-endian C++
Как проще всего работать с Big-Endian C++ ? C++
C++ Из little endian в big endian
C++ Big-endian тестирование
C++ Объединить массив байт в целое число в с++
Чтение 16-и битных слов из бинарника (загрузка Wav) C++
Написать программу, формирующую по исходному WAV файлу новый WAV файл C++
Определить объединение из двух полей. Первое поле – массив из четырех байт, второе – двойное слово C++
Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово C++
C++ Определить объединение из двух полей. Первое поле - массив из двух байт, второе - слово
C++ Определить объединение из двух полей Первое поле - массив из двух байт, второе - слово
Создайте функцию, которая пару последовательных чисел Фибоначчи преобразует в следующую пару C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 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)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru