Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.comp.lang.c > #606

Re: portable way to get highest bit set?

From Ian C <deathstation9000@gmail.com>
Newsgroups comp.lang.c, alt.comp.lang.c
Subject Re: portable way to get highest bit set?
Date 2023-10-11 18:03 +0100
Organization A noiseless patient Spider
Message-ID <b2e341ea-a49d-c0cf-d8ee-96235db44038@gmail.com> (permalink)
References <ug5gvh$1jkar$3@dont-email.me> <20231011102714.44a870af4dfe68f756974953@g{oogle}mail.com> <ug6huc$1rvp1$1@dont-email.me>

Cross-posted to 2 groups.

Show all headers | View raw


On 11/10/2023 17:19, candycanearter07 wrote:
> On 10/11/23 02:27, Anton Shepelev wrote:
>> candycanearter07:
>>
>>> What is the best/most portable way to get the highest bit
>>> set?
>>>
>>> ie. 011010001
>>> to  010000000
>>
>> What is your best attempt, even if unsuccessful?
>>
> 
> int out;
> for(out = 0x100000000; out; out >> 1)
>      if(out & input) break;
> 
> I'm trying to find something size independent, though.
> Or at least able to be swapped out with a #define

If you want the highest bit, 0x800000000 may be a better start :-)

If it was me I'd do it in reverse.  Assuming it's unsigned, shift your 
input to the right until it hits zero, counting the number of shifts 
which will be your bit number.  Assuming my head is currently working.


Ian C

Back to alt.comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

portable way to get highest bit set? candycanearter07 <no@thanks.net> - 2023-10-11 01:56 -0500
  Re: portable way to get highest bit set? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2023-10-11 10:27 +0300
    Re: portable way to get highest bit set? David Brown <david.brown@hesbynett.no> - 2023-10-11 11:31 +0200
      Re: portable way to get highest bit set? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2023-10-11 12:33 +0300
        Re: portable way to get highest bit set? David Brown <david.brown@hesbynett.no> - 2023-10-11 13:58 +0200
          Re: portable way to get highest bit set? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2023-10-11 15:17 +0300
            Re: portable way to get highest bit set? David Brown <david.brown@hesbynett.no> - 2023-10-11 16:22 +0200
              Re: portable way to get highest bit set? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2023-10-11 18:08 +0300
              Re: portable way to get highest bit set? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-10-11 17:20 +0100
                Re: portable way to get highest bit set? David Brown <david.brown@hesbynett.no> - 2023-10-11 18:28 +0200
    Re: portable way to get highest bit set? candycanearter07 <no@thanks.net> - 2023-10-11 11:19 -0500
      Re: portable way to get highest bit set? David Brown <david.brown@hesbynett.no> - 2023-10-11 18:45 +0200
      Re: portable way to get highest bit set? Ian C <deathstation9000@gmail.com> - 2023-10-11 18:03 +0100
        Re: portable way to get highest bit set? candycanearter07 <no@thanks.net> - 2023-10-11 19:26 -0500
      Re: portable way to get highest bit set? Richard Harnden <richard.nospam@gmail.invalid> - 2023-10-11 19:02 +0100
        Re: portable way to get highest bit set? candycanearter07 <no@thanks.net> - 2023-10-11 19:25 -0500
          Re: portable way to get highest bit set? Bart <bc@freeuk.com> - 2023-10-12 01:35 +0100
            Re: portable way to get highest bit set? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2023-10-11 17:50 -0700
            Re: portable way to get highest bit set? candycanearter07 <no@thanks.net> - 2023-10-11 20:03 -0500
  Re: portable way to get highest bit set? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-10-11 13:56 +0100
  Re: portable way to get highest bit set? Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2023-10-11 14:54 +0000
    Re: portable way to get highest bit set? Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2023-10-12 23:35 +0000
      Re: portable way to get highest bit set? Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2023-10-12 23:47 +0000
  Re: portable way to get highest bit set? Kaz Kylheku <864-117-4973@kylheku.com> - 2023-10-11 17:23 +0000
  Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-11 22:26 +0200
    Re: portable way to get highest bit set? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-10-11 23:58 +0100
      Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-12 09:14 +0200
        Re: portable way to get highest bit set? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-10-12 10:50 +0100
          Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-12 13:35 +0200
            Re: portable way to get highest bit set? Michael S <already5chosen@yahoo.com> - 2023-10-12 15:36 +0300
              Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-12 15:18 +0200
          Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-12 15:09 +0200
            Re: portable way to get highest bit set? jak <nospam@please.ty> - 2023-10-12 23:39 +0200
  Re: portable way to get highest bit set? Blue-Maned_Hawk <bluemanedhawk@invalid.invalid> - 2023-10-11 21:16 +0000
    Re: portable way to get highest bit set? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2023-10-11 14:30 -0700
      Re: portable way to get highest bit set? Blue-Maned_Hawk <bluemanedhawk@invalid.invalid> - 2023-10-12 13:42 +0000
        Re: portable way to get highest bit set? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2023-10-12 14:30 -0700
          Re: portable way to get highest bit set? Anton Shepelev <anton.txt@gmail.moc> - 2023-10-13 00:50 +0300
            Re: portable way to get highest bit set? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2023-10-12 16:17 -0700
        Re: portable way to get highest bit set? vallor <vallor@cultnix.org> - 2023-10-13 20:12 +0000
          Re: 🏳️‍🌈portable way to get highest bit set?🏳️‍🌈 🌈💐🌻🌺🌹🌻💐🌷🌺🌈Jen🌈💐🌻🌺🌹🌻💐🌷🌺🌈 Dershmender 💐🌻🌺🌹🌻💐🌷🌺🐶笛🌈💐🌻🌺🌹🌻💐🌷🌺🌈 <root@127.0.0.1> - 2023-10-17 18:28 +0000
  Re: portable way to get highest bit set? Kaz Kylheku <864-117-4973@kylheku.com> - 2023-10-11 21:57 +0000
    Re: portable way to get highest bit set? Kaz Kylheku <864-117-4973@kylheku.com> - 2023-10-15 05:26 +0000
      Re: portable way to get highest bit set? Michael S <already5chosen@yahoo.com> - 2023-10-15 11:35 +0300
      Re: portable way to get highest bit set? yeti <yeti@tilde.institute> - 2023-10-15 14:26 +0000

csiph-web