2013年4月14日日曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第2章(データ型・演算子・式)、2.10(代入演算子と式)の演習 2-9を解いてみる。

その他参考書籍

演習 2-9.

コード

sample.c

#include <stdio.h>

int bitcount(unsigned x);

int main()
{
    /* 2進数 001000 10進数 8 */
    int a = 010;
    /* 2進数 001010 10進数 10 */
    int b = 012;
    /* 2進数 001011 10進数 11 */
    int c = 013;
    /* 2進数 111111 10進数 63 */
    int d = 077;
    /* 2進数 000000 10進数 0 */
    int e = 00;
    printf("%d, %d, %d, %d, %d\n", a, b, c, d, e);
    printf("%d, %d, %d, %d, %d\n", bitcount(a), bitcount(b), bitcount(c), 
        bitcount(d), bitcount(e));
    return 0;
}

int bitcount(unsigned x)
{
    int b;
    
    for (b = 0; x != 0; x &= x - 1)
        b++;

    return b;
}

入出力結果(Terminal)

$ ./a.out
8, 10, 11, 63, 0
1, 2, 3, 6, 0
$

0 コメント:

コメントを投稿