From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: float with 24-bit resolution
Date: Sat, 16 Aug 2003 03:42:23 GMT
Date: 2003-08-16T03:42:23+00:00 [thread overview]
Message-ID: <3F3DA81B.2070701@attbi.com> (raw)
In-Reply-To: Yh4%a.148778$o%2.63694@sccrnsc02
Jeffrey Creem wrote:
> <mailbox@adrianhoe.nospam.com.my> wrote in message
> news:3F3CCB0F.543478AF@adrianhoe.nospam.com.my...
>
>>Hi,
>>
>>I looked through the LRM and searched CLA but I could not find any
>>solution. Perhaps I've overlook somewhere.
>>
>>I need a float with 24-bit resolution. My data needs to be encoded into
>>24 bits at a scaling of 720 degrees / 2^24 bits with the most
>>significant bit being the sign bit. This results in a value that ranges
>>from +359.9999571 degrees (0x7FFFFF) to -360.0000000 degrees (0x800000)
>>at increments of approximately 4.291534424e-5 degrees per bit.
>
>
> This does not sound anything like a float at all. It sounds much more like a
> typical implementation of a fixed point type. Something along the lines of
>
> package My_Pack is
>
> The_Delta : constant := 4.291534424e-5;
>
> type Probably_Gonna_Work_But_Language_Lawyers_Will_Complain_Type is delta
> The_Delta range - 360.0 .. 359.9999571;
> for Probably_Gonna_Work_But_Language_Lawyers_Will_Complain_Type'Small use
> The_Delta;
> for Probably_Gonna_Work_But_Language_Lawyers_Will_Complain_Type'Size use
> 24;
Okay, I'll complain. ;-) You can declare the type as
type Probably_Gonna_Work_But_Language_Lawyers_Will_Complain_Type is
delta The_Delta range - 360.0 .. 360.0;
but if you don't want to, you are much more likely to get exactly what
you want, and have the users understand it as well, if you say:
The_Delta : constant := 720.0/2**24;
type Gonna_Work_And_Language_Lawyers_Will_Not_Complain_Type is
delta The_Delta range - 360.0 .. 360.0 - The_Delta;
for Gonna_Work_And_Language_Lawyers_Will_Not_Complain_Type'Size
use 24;
--
Robert I. Eachus
"As far as I'm concerned, war always means failure." -- Jacques Chirac,
President of France
"As far as France is concerned, you're right." -- Rush Limbaugh
next prev parent reply other threads:[~2003-08-16 3:42 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-15 11:59 float with 24-bit resolution mailbox
2003-08-15 12:24 ` Jeffrey Creem
2003-08-15 12:52 ` Adrian Hoe
2003-08-15 12:54 ` Adrian Hoe
2003-08-15 15:01 ` Jeffrey Creem
2003-08-16 15:29 ` Matthew Heaney
2003-08-15 13:39 ` Mark Johnson
2003-08-15 16:56 ` Robert I. Eachus
2003-08-15 18:08 ` Mark Johnson
2003-08-16 3:30 ` Robert I. Eachus
2003-08-18 13:39 ` Mark Johnson
2003-08-20 21:12 ` Robert I. Eachus
2003-08-21 13:38 ` Mark Johnson
2003-08-16 15:32 ` Matthew Heaney
2003-08-16 15:26 ` Matthew Heaney
2003-08-15 19:56 ` Simon Wright
2003-08-16 4:21 ` Adrian Hoe
2003-08-16 12:59 ` Jeffrey Creem
2003-08-16 15:35 ` Matthew Heaney
2003-08-17 11:40 ` Simon Wright
2003-08-17 13:46 ` Matthew Heaney
2003-08-18 5:05 ` Adrian Hoe
2003-08-18 13:14 ` Matthew Heaney
2003-08-19 3:09 ` Adrian Hoe
2003-08-19 13:00 ` Matthew Heaney
2003-08-30 5:02 ` Randy Brukardt
2003-09-02 16:05 ` Adrian Hoe
2003-09-03 3:31 ` Matthew Heaney
2003-09-03 20:46 ` Simon Wright
2003-09-04 1:43 ` Randy Brukardt
2003-09-04 9:53 ` Jean-Pierre Rosen
2003-09-05 3:46 ` Randy Brukardt
2003-09-05 17:16 ` Warren W. Gay VE3WWG
2003-09-05 19:37 ` Randy Brukardt
2003-09-06 20:48 ` Warren W. Gay VE3WWG
2003-09-08 7:53 ` Dmitry A. Kazakov
2003-09-04 1:45 ` Randy Brukardt
2003-08-16 3:42 ` Robert I. Eachus [this message]
2003-08-16 15:38 ` Matthew Heaney
2003-08-16 16:36 ` Robert I. Eachus
2003-08-16 15:22 ` Matthew Heaney
2003-08-17 11:46 ` Simon Wright
2003-08-18 10:04 ` Martin Dowie
2003-08-20 19:53 ` Robert I. Eachus
2003-08-20 23:36 ` Ludovic Brenta
2003-08-21 13:54 ` Mark Johnson
2003-08-21 14:35 ` Ludovic Brenta
2003-08-22 14:07 ` Mark Johnson
2003-08-22 15:12 ` Jean-Pierre Rosen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox