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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。