This function could have been defined by:
(defun integer-length (integer)
(ceiling (log (if (minusp integer)
(- integer)
(1+ integer))
2)))
If integer is non-negative, then its value can be represented
in unsigned binary form in a field whose width in bits is
no smaller than (integer-length integer).
Regardless of the sign of integer, its value can be
represented in signed binary two's-complement form in a field
whose width in bits is no smaller than (+ (integer-length integer) 1).