Очень нужен кусочек кода, который бы разбивал двухзначное число на разряды: К примеру у нас есть int number = 57; Из него надо получить int firstDigit; который будет равен в данном случае 5, и int secondDigit; который будет равен 7 И еще нужен кусочек кода, собирающий двоичное 8-битное число из 2-х 4-битных, например: byte firstBinaryDigit = 0b0110 и byte secondBinaryDigit = 0b1001; Надо получить из этого byte binaryDigit; который будет равен 0b10010110
Вот набросал код для числа вплоть до четырехзначного, конечно, не идеально - разбитие можно было бы вынести в цикл, а разряды заключить в массивы, но зато так более понятнее. На счет 8-ми битого числа до конца идею не понял. Вам нужно в бинарном виде число выводить? Код (C++): // Вычисляемое число int chislo = 57; // Для определения сколькозначное число int n0; // Первый разряд byte one; // Второй разряд byte two; // Третий разряд byte three; // Четвертый разряд byte four; void setup() { Serial.begin(9600); } void loop() { /*---------------------------*/ // Узнаем сколькизначное число n0 = chislo / 10; // Двухзначное число if (n0 <= 9) { one = chislo / 10; two = chislo % 10; // Выводим результат Serial.print(one); Serial.print(" "); Serial.print(two); delay(100); } // Трехзначное число if (n0 > 9 && n0 <= 99) { one = chislo / 100; two = (chislo % 100) / 10; three = chislo % 10; // Выводим результат Serial.print(one); Serial.print(" "); Serial.print(two); Serial.print(" "); Serial.println(three); delay(100); } // Четырехзначное число if (n0 > 99) { one = chislo / 1000; two = (chislo % 1000) / 100; three = (chislo % 100) / 10; four = chislo % 10; // Выводим результат Serial.print(one); Serial.print(" "); Serial.print(two); Serial.print(" "); Serial.print(three); Serial.print(" "); Serial.println(four); delay(100); } }