1. A method of multiplying a plurality of floating-point numbers, comprising: providing multiplier and multiplicand floating-point numbers, each defining a fraction and an exponent; encoding the provided multiplier fraction; multiplexing the encoded multiplier fraction; multiplying the multiplexed multiplier fraction by the multiplicand fraction to form a first set of partial products; detecting a multiplier exponent characteristic indicative of de-normalization; computing a last partial product according to a value of the detected multiplier exponent characteristic; detecting a multiplicand exponent characteristic indicative of de-normalization; selecting a de-normalized multiplicand correction term according to the detected multiplicand exponent characteristic and a value of the multiplier fraction; and adding each of the first set and the last partial products to the de-normalized multiplicand correction term to form a final product.