#import <stdio.h>
#import <math.h>
int pow2(int n)
{
if(n < 0)
return 0;
if(n == 1)
return 1;
return (int)pow(2.0, (floor(log2(n - 1)) + 1.0));
}
int main(int argc, char *argv[]) {
for(int i = 0 ; i < 1025 ; ++i)
{
printf("%d -> %d\n", i, pow2(i));
}
}
GL等のテクスチャのためのリサイズの際などの用途用です
※n=1のとき0と出ていた間違いを修正しました