ToDo:
http://d.hatena.ne.jp/kazuhooku/20121203/1354552696
GCC 前提で…
#include <stdio.h>
inline long long ct_binary_roundup(long long n) {
long long r = 1LL << (64 - __builtin_clzll(n));
return r == n * 2 ? n : r;
}
int main() {
printf("%lld\n", ct_binary_roundup(256LL));
printf("%lld\n", ct_binary_roundup(432432423LL));
printf("%lld\n", ct_binary_roundup(432432423999LL));
}
とかは割とアリな気がする。 log とかでも消えるんじゃないかなーと思ったけど、なんかうまくいかなさげ…
(03:40)
| 前 | 2012年 12月 |
次 | ||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。