判断一个整数是否为2的幂 以及 上向2的幂扩展
Posted 阿汤的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断一个整数是否为2的幂 以及 上向2的幂扩展相关的知识,希望对你有一定的参考价值。
#include <stdio.h> #include <stdint.h> // 判断整数是否为2幂 /* if (a & (a - 1)) { // not } else { // yes } */ uint32_t roundup_pow_of_two(const uint32_t x) { if (x == 0){ return 0; } if (x == 1){ return 2; } uint32_t ret = 1; while (ret < x) { ret = ret << 1; } return ret; } int32_t main() { uint32_t a = 0; while (scanf_s("%u",&a)) { printf("%u\n", roundup_pow_of_two(a)); } return 0; }
以上是关于判断一个整数是否为2的幂 以及 上向2的幂扩展的主要内容,如果未能解决你的问题,请参考以下文章