C/C++の宿題片付けます 150代目
■ このスレッドは過去ログ倉庫に格納されています
0189デフォルトの名無しさん
2011/06/30(木) 12:56:33.25#include <stdio.h>
#include <math.h>
int bit_count(int x)
{
static const unsigned char bit_set_table[256] = {
# define B2(n) n, n+1, n+1, n+2
# define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2)
# define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2)
B6(0), B6(1), B6(1), B6(2)
};
return bit_set_table[(x >> 8) & 255] + bit_set_table[x & 255];
};
int main(int argc, char **argv)
{
int i, x;
for (i = 1; i < argc; i++) {
x = atoi(argv[i]);
printf("%d(0x%02x) %d\n", x, x, bit_count(x));
}
}
■ このスレッドは過去ログ倉庫に格納されています