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.