Download Pelles C here: http://www.pellesc.se
QuoteChatGPT:
Assuming the usual widths on a typical modern desktop/compiler:
unsigned short = 16 bits
unsigned int = 32 bits
stdc_first_leading_one(x) returns the 1-based position of the first 1 when scanning from the most-significant bit (MSB).
stdc_first_leading_zero(x) returns the 1-based position of the first 0 when scanning from the MSB.
For 4, the bit pattern is ...00000100 (only bit 2 set, counting from LSB starting at 0):
First leading one is at position width - 2
First leading zero is at position 1 (because the MSB is 0 for the value 4)
So the output will be:
a1 one:14 a1 zero:1
a2 one:30 a2 zero:1
Explanation:
a1 (16-bit): 16 - 2 = 14
a2 (32-bit): 32 - 2 = 30
If you run this on a platform where unsigned int is not 32-bit (or unsigned short not 16-bit), the one: numbers will change accordingly, but the zero: values will still be 1 for 4 (since the MSB is still 0).
Quote from: rweidner on March 16, 2026, 07:52:25 PMYes, main.c is in a different directory. I have a reason for it. It is just not a great reason. LOL.
Hierarchical and more structured.Page created in 0.065 seconds with 15 queries.