Re: portable way to get highest bit set?
Ben Bacarisse <[email protected]> Thu, 12 Oct 2023 10:50:53 +0100
| Newsgroups | comp.lang.c,alt.comp.lang.c |
|---|---|
| Organization | A noiseless patient Spider |
| Message-ID | <[email protected]> |
jak <[email protected]> writes: > Ben Bacarisse ha scritto: >> jak <[email protected]> writes: >> >>> candycanearter07 ha scritto: >>>> Hi, >>>> What is the best/most portable way to get the highest bit set? >>>> ie. 011010001 >>>> to 010000000 >>> >>> Hi, >>> I don't think it's the best but the most portable could be the >>> mathematical approach: >>> >>> #include <stdio.h> >>> #include <math.h> >>> >>> int main() >>> { >>> unsigned long val = 3000, ret; >> Test case: val = 0xFFFFFFFFFFFFFFFF > > This is due to the approximation of the floating point: I know the reason. I was just pointing out that you need to at least test the boundary cases! -- Ben.