Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site mmintl.UUCP
Path: utzoo!linus!philabs!pwa-b!mmintl!franka
From: franka@mmintl.UUCP (Frank Adams)
Newsgroups: net.arch
Subject: Re: The problem with high-order truncation of multiplication
Message-ID: <563@mmintl.UUCP>
Date: Mon, 5-Aug-85 14:30:43 EDT
Article-I.D.: mmintl.563
Posted: Mon Aug  5 14:30:43 1985
Date-Received: Thu, 8-Aug-85 01:34:39 EDT
References: <846@turtlevax.UUCP>
Reply-To: franka@mmintl.UUCP (Frank Adams)
Organization: Multimate International, E. Hartford, CT
Lines: 16
Summary: There are ways around it


In article <846@turtlevax.UUCP> ken@turtlevax.UUCP (Ken Turkowski) writes:
>Signal processing generally uses fixed-point numbers that are normalized:
>i.e. have a magnitude less than 1.  When two such numbers are multiplied
>together, the product is still normalized.  Rather than throwing away the
>most significant bits as in multiplication of integers, you want to keep
>these bits, since that's where most of the significance is, and instead
>throw away the least significant bits, after shifting out the duplicated
>sign bit.

This is not as bad as you make it sound.  If you want something other than
the low-order bits, just stick your operands in the lower order half of
double-size operands, and pull out the portion of the result that you want.

This is a bit inconvenient, but the point is to make the common case
convenient.  And wanting the low order bits only is by far the most
common case.