Мне нужно извлечь определенную часть (количество битов) типа данных short
в C.
Например, у меня есть двоичный файл 52504 как 11001101000 11000, и я хочу сначала 6 ( FROM LSB --> MSB т.е. 011000 десятичное 24) бит и остальные 10 бит ( 11001101000 десятичное 820).
Точно так же я хочу, чтобы эта функция была слишком обобщенной, чтобы извлекать определенное количество битов, заданных «начало» и «конец» (т.е. куски битов, эквивалентные некоторому десятичному значению).
Я проверил другие сообщения, но они не помогли, так как данные функции не слишком обобщены.
Мне нужно что-то, что может работать с коротким
типом данных C.
У меня есть короткий массив размером 2048 байт. Где каждый пиксель имеет 10 бит. Итак, мои 16 бит, состоящие из каждого байта, занимают некоторое время 2 пикселя данных, иногда 3 пикселя данных.
Нравится
(PIXEL: 0,1) 10 БИТ + 6 БИТ
затем ( ПИКСЕЛЬ : 1,2,3 ) 4 БИТА (оставшиеся биты 1-го пикселя) + 10 БИТ + 2 БИТ.
и так далее... эта схема продолжается... Итак, все, что я хочу извлечь каждый пиксель и сделать весь массив, в котором каждый пиксель должен быть полностью занят в ВСЕМ БАЙТЕ (из 16 бит), например.. 1 байт должен содержать 1 ПИКСЕЛ ДАННЫХ, другой БАЙТ должен содержать другое значение ПИКСЕЛЯ в целых 16 битах и так далее.