make-flonum and make-binary-flonum both state they require a non-negative integer exponent argument. However,
1) scalbn and ldexp, the C functions suggested to implement them, do not restrict against negative exponents -- using negative exponents is quite useful.
2) they both use the letter 'n' to denote the argument, which is conventionally used for unrestricted integers - positive, zero, or negative - so I'm thinking the text stating non-negative may have been a typo.
The text should be amended to mention implementation-dependent maximum *and minimum* values.
-jim