diff options
Diffstat (limited to '2025-linuxdays/bits.c')
| -rw-r--r-- | 2025-linuxdays/bits.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/2025-linuxdays/bits.c b/2025-linuxdays/bits.c new file mode 100644 index 0000000..f16b232 --- /dev/null +++ b/2025-linuxdays/bits.c @@ -0,0 +1,20 @@ +#include <assert.h> +#include <stdbit.h> + +int main(int argc, char *argv[]) { + assert(stdc_leading_zeros(0xffU) == 24); + assert(stdc_leading_ones(0xff000000U) == 8); + assert(stdc_trailing_zeros(0xff000000U) == 24); + assert(stdc_trailing_ones(0xffU) == 8); + assert(stdc_first_leading_zero(0xff000000U) == 9); + assert(stdc_first_leading_one(0xffU) == 25); + assert(stdc_first_trailing_zero(0xffU) == 9); + assert(stdc_first_trailing_one(0xff000000U) == 25); + assert(stdc_count_zeros(0xffU) == 24); + assert(stdc_count_ones(0xffU) == 8); + assert(stdc_has_single_bit(1U << 13)); + assert(stdc_bit_width(0xf0U) == 8); + assert(stdc_bit_floor(0xf1U) == 0x80); + assert(stdc_bit_ceil(0xf1U) == 0x100); + return 0; +} |
