Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #228443
| Path | csiph.com!news.mixmin.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
| Newsgroups | comp.lang.c |
| Subject | Re: portable way to get highest bit set? |
| Date | Wed, 11 Oct 2023 10:17:17 -0700 |
| Organization | A noiseless patient Spider |
| Lines | 35 |
| Message-ID | <86mswpaxk2.fsf@linuxsc.com> (permalink) |
| References | <ug5gvh$1jkar$3@dont-email.me> <20231011102714.44a870af4dfe68f756974953@g{oogle}mail.com> <ug6huc$1rvp1$1@dont-email.me> <b2e341ea-a49d-c0cf-d8ee-96235db44038@gmail.com> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=us-ascii |
| Injection-Info | dont-email.me; posting-host="c9974d524a342450c72757464b9d47a6"; logging-data="2054933"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19pFEs/MpMIrUDUKjPgvT1KpvBcRDzi72M=" |
| User-Agent | Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) |
| Cancel-Lock | sha1:E+LqWDmpG+ZoIUJx8hZV8q+EPIc= sha1:Msmg1AVUwoh/Mcfn5mHFd1HDFTQ= |
| Xref | csiph.com comp.lang.c:228443 |
Show key headers only | View raw
Ian C <deathstation9000@gmail.com> writes: > 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. Wouldn't you first write a test function to be sure the value returned is correct? ;) I found it harder to write a correct test function than to write a function that just returns a correct value. Interesting, eh?
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-10-11 10:17 -0700
Re: portable way to get highest bit set? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-10-11 10:34 -0700
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? 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? Kaz Kylheku <864-117-4973@kylheku.com> - 2023-10-11 17:23 +0000
csiph-web