Огромное спасибо, попробовал оба последних примера и всё получилось!!! Если напишите в личку свой телефон отправлю вам небольшую благодарность.

Если у вас будет время не могли бы вы объяснить код (для чего то или иное действие выполняется, дальше буду сам разбираться) - сам никогда не работал с битовыми/байтовыми операциями, а тупо переписать код без понимания я бы не хотел.

Цитата Сообщение от Yegor Посмотреть сообщение
Код:
SHL(BYTE_TO_WORD(otvet[3]) AND 15, 12) +
SHL(BYTE_TO_WORD(otvet[2]) AND 15, 8) +
SHL(BYTE_TO_WORD(otvet[1]) AND 15, 4) +
SHL(BYTE_TO_WORD(otvet[0]) AND 15, 0);
А там написано вроде. Читайте внимательно.
Тут вообще ничего не понятно, прочитал в букваре что shl - это сдвиг.

Цитата Сообщение от Yegor Посмотреть сообщение
P.S. Можно чуть короче написать:
Код:
(otvet[3] AND 15) * 16#1000 +
(otvet[2] AND 15) * 16#100 +
(otvet[1] AND 15) * 16#10 +
(otvet[0] AND 15) * 16#1;
Тут выполняется побитовое И. Зачем? Потом умножается на 16#100 - эти операции выполняются в десятичной системе?

Цитата Сообщение от Yegor Посмотреть сообщение
Можно без поразрядных операций:
Код:
otvet[3] * 16#1000 +
otvet[2] * 16#100 +
otvet[1] * 16#10 +
otvet[0] -
16#11110 * (otvet[0] / 16#10);
Вот здесь мне интересно откуда взялось 16#11110 и почему otvet[0] необходимо делить на 16#10.