Работа с двоичным кодом С++ нужна помощь
Задача не сложная но материала на ту тему Я на просторах интернета так и не нашел (
Через небольшую программку (самопальный HEX ридер) Я читаю побайтно файл и заношу в массив. Программа работает классно вот код

теперь мне надо разобрать считанные байты таким образом:
в двоичной системе счисления получить младшие 3 разряда, и старшие пять. К примеру:
первый байт файла в двоичной системе счисления выглядит так 01100011, мне нужно в отдельную переменную записать 011(три младшие разряда) = 3 и 01100 = 12.
потом Я уже сам буду обрабатывать эти данные.
Вообще Я пытаюсь считать управляющую программу контроллера старого станка с ЧПУ. Который спустя 20 лет сломалася. Но менять станок ещё лет 20 некто не будет, так что ответы вроде забей мне ненужны.
Попробую по конкретнее сформулировать вопрос:
Каким образом можно преобразовать значение типа int в двоичный код шириной в 8 розрядов с возможностью чтения конкретного разряда или нескольких выбранных последовательно расположенных разрядов (как в примере выше только младшие 3 или старшие 5) для дальнейшей обработки?
value>>3 - сдвинуть на 3 разряда
value&0x07 - Наложить маску.
Подробнее можно узнать погуглив "C++ битовые операции"
А можно создать структуру с битовыми полями. Гуглим по запросу "битовые поля"