Прочитать беззнаковое целое число из стандартного потока ввода и в каждом байте числа обнулить нулевой и седьмой биты и сделать единичными третий и четвертый биты. Результат вывести в стандартный поток вывода.
Получиться должно примерно вот так:
65535 (11111111 11111111)
32382 (01111110 01111110)
Добрый день!
У меня получилось приблизительно так (без форматирования вывода):
<code>
(let ((number (read)))
(if (and (typep number 'integer) (>= number 0))
(progn
(setf (ldb (byte 1 0) number) 0)
(setf (ldb (byte 1 7) number) 0)
(setf (ldb (byte 1 3) number) 1)
(setf (ldb (byte 1 4) number) 1)
(let ((bits '()))
(dotimes (position (integer-length number) bits)
(push (ldb (byte 1 position) number) bits))
(format t "~A" bits)))
(format t "Not an unsigned integer")))
</code>
Не доделал немного. Обнулил только в первом байте.