The I descriptor is used for integers in the form Iw or Iw.m. w is
the field width and m is the minimum number of digits that are to be
displayed. With Iw the field is padded out with leading spaces if
required. With Iw.m the field is padded out with either leading spaces
or leading zeros depending on the value of m. If the field width is too
small for the value to be output, then the field is filled with asterisks in
order to flag the error. Remember to provide space for a sign if the value
might be negative.

In addition to the I descriptor, B, O, and Z are used for binary, octal and
hexadecimal representations.