From: Ole-Hjalmar Kristensen <ole-hjalmar.kristensen@substitute_employer_here.com>
Subject: Re: shifting bits
Date: 30 Aug 2004 11:03:51 +0200
Date: 2004-08-30T09:03:52+00:00 [thread overview]
Message-ID: <wvbreklpknew.fsf@sun.com> (raw)
In-Reply-To: ba2f9c57.0408281738.61a48643@posting.google.com
>>>>> "fdf" == fabio de francesco <fmdf@tiscali.it> writes:
fdf> Hello.
fdf> I had to pack/unpack some variables into/from one. In order to get the
fdf> result I chose to shift the variables' bits using multiplications and
fdf> divisions by powers of two.
fdf> 1) Does Ada have a built-in shift operand like C++ "<<" and ">>" ?
Yes, defined for modular types.
fdf> 2) Can only variables of modular type be shifted ? If yes, why ?
Portability, I guess. What happens if you shift a sigend type? If this
annoys you, you can always convert to an unsigned type.
fdf> 3) Will the following code produce some "shl" and "shr" machine
fdf> instruction ?
fdf> date_y := date_y * 2**9; -- shift left
fdf> year := integer((date / 2**9) and offset_year); --shift right and
fdf> "and" offset
fdf> I thank you all in advance.
fdf> Ciao,
fdf> Fabio De Francesco.
Have you considered just using a record and specifying which bits
should be allocated to the different fields instead? This would save
you the trouble of doing the packing/unpacking yourself....
<snip>
--
C++: The power, elegance and simplicity of a hand grenade.
next prev parent reply other threads:[~2004-08-30 9:03 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-29 1:38 shifting bits fabio de francesco
2004-08-29 3:51 ` Jim Rogers
2004-08-29 6:51 ` Martin Krischik
2004-08-29 12:53 ` fabio de francesco
2004-08-29 13:21 ` Ludovic Brenta
2004-08-29 17:58 ` Simon Wright
2004-08-29 14:25 ` Michael Bode
2004-08-29 11:29 ` Ludovic Brenta
2004-08-29 17:17 ` tmoran
2004-08-29 13:53 ` Stephen Leake
2004-08-29 17:17 ` tmoran
2004-08-30 3:49 ` fabio de francesco
2004-08-30 4:16 ` tmoran
2004-08-31 0:22 ` fabio de francesco
2004-10-10 17:51 ` ACM Queue Ada article tmoran
2004-10-11 13:13 ` Marc A. Criley
2004-10-12 18:32 ` skidmarks
2004-11-30 18:04 ` SIGAda ad tmoran
2005-05-25 7:19 ` Gnat STORAGE_ERROR tmoran
2005-05-25 8:53 ` Alex R. Mosteo
2005-05-25 9:51 ` Duncan Sands
2005-05-25 10:05 ` Alex R. Mosteo
2005-05-25 11:32 ` Duncan Sands
2005-05-25 12:16 ` Alex R. Mosteo
2005-05-26 9:39 ` Duncan Sands
2005-05-26 9:53 ` Alex R. Mosteo
2005-05-26 19:32 ` Björn Persson
2005-05-25 18:30 ` tmoran
2005-05-26 2:19 ` David C. Hoos, Sr.
2005-05-26 18:42 ` tmoran
2005-05-27 7:19 ` workaround, was " tmoran
2005-07-29 21:08 ` shifting bits tmoran
2005-07-30 20:28 ` Ada utility for Google Earth, NASA World Wind tmoran
2005-08-08 13:27 ` Marc A. Criley
2005-08-08 21:08 ` tmoran
2005-08-10 8:11 ` Rob Norris
2005-08-10 8:35 ` tmoran
2005-08-10 11:41 ` Rob Norris
2005-08-10 18:05 ` tmoran
2004-08-30 9:03 ` Ole-Hjalmar Kristensen [this message]
2004-08-30 11:37 ` shifting bits Dale Stanbrough
2004-08-30 18:38 ` Jeffrey Carter
2004-08-30 15:19 ` Martin Krischik
2004-08-30 17:17 ` Georg Bauhaus
2004-08-30 18:48 ` Jeffrey Carter
2004-08-31 12:37 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox