#ifndef _IOTMATH_H_INCLUDED #define _IOTMATH_H_INCLUDED 1 #include /* 2的n次方数 */ #define roundup_pow_of_two(n) \ (1UL << \ ( \ ( \ (n) & (1UL << 31) ? 31 : \ (n) & (1UL << 30) ? 30 : \ (n) & (1UL << 29) ? 29 : \ (n) & (1UL << 28) ? 28 : \ (n) & (1UL << 27) ? 27 : \ (n) & (1UL << 26) ? 26 : \ (n) & (1UL << 25) ? 25 : \ (n) & (1UL << 24) ? 24 : \ (n) & (1UL << 23) ? 23 : \ (n) & (1UL << 22) ? 22 : \ (n) & (1UL << 21) ? 21 : \ (n) & (1UL << 20) ? 20 : \ (n) & (1UL << 19) ? 19 : \ (n) & (1UL << 18) ? 18 : \ (n) & (1UL << 17) ? 17 : \ (n) & (1UL << 16) ? 16 : \ (n) & (1UL << 15) ? 15 : \ (n) & (1UL << 14) ? 14 : \ (n) & (1UL << 13) ? 13 : \ (n) & (1UL << 12) ? 12 : \ (n) & (1UL << 11) ? 11 : \ (n) & (1UL << 10) ? 10 : \ (n) & (1UL << 9) ? 9 : \ (n) & (1UL << 8) ? 8 : \ (n) & (1UL << 7) ? 7 : \ (n) & (1UL << 6) ? 6 : \ (n) & (1UL << 5) ? 5 : \ (n) & (1UL << 4) ? 4 : \ (n) & (1UL << 3) ? 3 : \ (n) & (1UL << 2) ? 2 : \ (n) & (1UL << 1) ? 1 : \ (n) & (1UL << 0) ? 0 : -1 \ ) + 1 \ ) \ ) #endif