Если это операторы присваивания, вы пропускаете знаки равенства.
myIntDecoder[0] = ~b0 + ~b1 + ~b2;
myIntDecoder[1] = b0 + ~b1 + ~b2;
myIntDecoder[2] = ~b0 + b1 + ~b2;
myIntDecoder[3] = b0 + b1 + ~b2;
myIntDecoder[4] = b0 + ~b1 + ~b2;
myIntDecoder[5] = b0 + ~b1 + b2;
myIntDecoder[6] = ~b0 + b1 + b2;
myIntDecoder[7] = b0 + b1 + b2;
Следующая проблема, с которой вы столкнетесь, заключается в том, что int myIntDecoder[8]
объявляет массив из 8-ми дюймов, который отличается от 8-битного типа int. A char
имеет ширину 8 бит на (почти) всех платформах; или вы можете быть более явным и использовать одну из стандартных typedefs:
#include <stdint.h>
uint8_t myIntDecoder;
Чтобы не оставлять вас в покое, я должен упомянуть, что присвоение отдельным битам в переменной не так просто, как byte[5] = 1
. Выполнение этого требует некоторого умного использования сдвига и других побитовых операций.