comp.lang.ada
 help / color / mirror / Atom feed
From: "Ken Garlington" <Ken.Garlington@computer.org>
Subject: Re: Bit manipulation
Date: Sun, 12 Nov 2000 02:07:04 GMT
Date: 2000-11-12T02:07:04+00:00	[thread overview]
Message-ID: <cXmP5.10963$pq3.918636@news.flash.net> (raw)
In-Reply-To: 3A0DF35D.729DDE15@mindspring.com

As I recall, there was also an implied desire to avoid a loop. How about:

package Word_Bitstring is
  type Object is array (1 .. 32) of Boolean;
  pragma Pack(Object);

  function Swap (O : Object) return Object;
end Word_Bitstring;

package body Word_Bitstring is
  function Swap (O : Object) return Object is
  begin
    return O(32) & O(31) & O(30) & O(29) &
           O(28) & O(27) & O(26) & O(25) &
           O(24) & O(23) & O(22) & O(21) &
           O(20) & O(19) & O(18) & O(17) &
           O(16) & O(15) & O(14) & O(13) &
           O(12) & O(11) & O(10) & O(09) &
           O(08) & O(07) & O(06) & O(05) &
           O(04) & O(03) & O(02) & O(01);
  end Swap;
end Word_Bitstring;

Seems a little error prone, but it might be reasonably efficient. Try it and
see!

"Redryder" <john.f.anderson@mindspring.com> wrote in message
news:3A0DF35D.729DDE15@mindspring.com...
: Jeff,
:  It goes like this: BIT 0 to BIT 31, BIT 31 to BIT 0 ,  and so on.
: John
:
: Jeff Carter wrote:
:
: > Redryder wrote:
: > >
: > > I need to swap the bits in a 32-bit word.
: >
: > I could perhaps be of more assistance if I knew what you mean by "swap
: > the bits".
: >
: > --
: > Jeff Carter
: > "I unclog my nose towards you."
: > Monty Python & the Holy Grail
:





  reply	other threads:[~2000-11-12  2:07 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-07  0:00 Bit manipulation Sandro Binetti
2000-11-07  0:00 ` gdemont
2000-11-08  7:22   ` Sandro Binetti
2000-11-07  0:00 ` Larry Kilgallen
2000-11-07  0:00   ` John English
2000-11-08  0:00   ` gdemont
2000-11-08  0:00     ` Robert Dewar
2000-11-08  0:00       ` Sandro Binetti
2000-11-08  0:00         ` Nicolas Brunot
2000-11-08  0:00         ` gdemont
2000-11-09  4:00           ` Ken Garlington
2000-11-09  0:00             ` Larry Kilgallen
2000-11-09  0:00               ` Ken Garlington
2000-11-08  0:00         ` Dale Stanbrough
2000-11-09  0:00           ` Sandro Binetti
2000-11-09  0:00             ` Ken Garlington
2000-11-09  0:00             ` gdemont
2000-11-10  0:00             ` Scott Ingram
2000-11-09  3:59         ` Ken Garlington
2000-11-09  4:52         ` Robert Dewar
2000-11-08  0:00       ` gdemont
2000-11-08  0:00         ` Larry Kilgallen
2000-11-09  4:50           ` Robert Dewar
2000-11-10  0:00             ` Lao Xiao Hai
2000-11-09  4:47         ` Robert Dewar
2000-11-09  0:00           ` gdemont
2000-11-11  0:00       ` Redryder
2000-11-11  0:00         ` Jeff Carter
2000-11-11  0:00           ` Redryder
2000-11-12  2:07             ` Ken Garlington [this message]
2000-11-12  5:56             ` Jeff Carter
2000-11-12  0:00               ` Robert Dewar
2000-11-12  0:00                 ` tmoran
2000-11-13  0:00                   ` Robert Dewar
2000-11-14  0:00                     ` Marc A. Criley
2000-11-13  0:54                   ` Ken Garlington
2000-11-12  6:40               ` tmoran
2000-11-13  0:00         ` Lutz Donnerhacke
2000-11-13  0:00           ` Robert Dewar
2000-11-13  0:00             ` Lutz Donnerhacke
2000-11-13  0:00               ` Robert Dewar
2000-11-13  0:00                 ` Lutz Donnerhacke
2000-11-13  0:00                   ` Pat Rogers
2000-11-13  0:00                     ` Brian Rogoff
2000-11-13  0:00                       ` F. Britt Snodgrass
2000-11-15  0:00                         ` Lutz Donnerhacke
2000-11-13  0:00                       ` Pat Rogers
2000-11-14  0:00                       ` Georg Bauhaus
2000-11-15  0:00                         ` Lutz Donnerhacke
2000-11-14  0:00                   ` Martin Dowie
2000-11-15  0:00                     ` Lutz Donnerhacke
2000-11-20  0:00                 ` Randy Brukardt
2000-11-21  0:00                   ` Lutz Donnerhacke
2000-11-21  0:00                     ` Stephen Leake
2000-11-22  0:00                       ` Lutz Donnerhacke
2000-11-13  0:00           ` Robert Dewar
2000-11-13  0:00             ` Lutz Donnerhacke
2000-11-13  0:00               ` Robert Dewar
2000-11-13  0:00                 ` Lutz Donnerhacke
2000-11-08  7:18   ` Sandro Binetti
2000-11-10  7:24 ` Thank you all for your contribution ! Sandro Binetti
  -- strict thread matches above, loose matches on Subject: below --
2005-02-07 12:37 Bit manipulation Maurizio
2005-02-07 13:20 ` Martin Krischik
2005-02-07 15:32 ` Martin Dowie
2005-02-07 18:04   ` Martin Krischik
2005-02-08  0:32 ` Randy Brukardt
2005-02-08  3:11 ` Steve
2005-02-08 18:51   ` tmoran
1999-04-04  0:00 bit manipulation Jack Chow
1999-04-04  0:00 ` Matthew Heaney
1999-04-05  0:00 ` dennison
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox