Вот кусок кода, который мне не понятен. Код (C++): byte numberSegments[10] = { 0b00111111, 0b00001010, 0b01011101, 0b01011110, 0b01101010, 0b01110110, 0b01110111, 0b00011010, 0b01111111, 0b01111110, }; То что создается массив понятно, объясните как закодированы цифры, например, Код (C++): 0b00011010 . Я правильно понял что тут закодированы пины, а не сегменты? В статье на вики https://ru.wikipedia.org/wiki/Двоичный_код цифры в двоичном коде состоят из 4 знаков, а тут 8. Разжуйте пожалуйста подробно, что тут и к чему.
Закодированы пины, но со смещением: Код (C++): 0b00011010 читать справа налево -- первый пин + смещение "выключен", второй пин + смещение - "включен", третий пин + смещение "выключен", четвёртый и пятый пины + смещение - "включены", остальные "выключены". Смещение определено макросом: Код (C++): #define FIRST_SEGMENT_PIN 2
Двоичный код состоит из 0 и 1, и сколько там знаков - не имеет значения. 4 были взяты для простоты понимания. 1 байт состоит из 8 битов, поэтому число в двоичном коде состоит из восьми элементов 0 или 1 (префикс 0b просто указывает компилятора что это именно двоичное представление числа).