spike
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть прибор, с котрого получаю данные юзая dll-драйвер используя функцию GetFelixStatus получаю структуру Код: typedef unsigned char byte; typedef unsigned short int word; struct frfFelixStatus { byte ErrorCode; // 1 байт hex byte HardStatus; // 1 байт бинар word CurrentStatus; // 2 байта бинар byte PrinterStatus; // 1 байт бинар }; | в итоге получаю frfStatus.HardStatus равен 136, перевожу (пока калькулятором) в бин, получаю 10001000 и смотря на таблицу, где раписан каждый бит вижу статус frfStatus.CurrentStatus получается 6160, что в переводе в бин 1 1000 0001 0000, т.е. не хватает 3х нулей впереди, до полной тетрады Но проблема не в нулях, а вот в чем: Как лучше всего организовать проверку битов ? |