2012年7月13日金曜日

開発環境

『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) II部(単純なプログラミング)の11章(ビット演算)11.10(プログラミング実習)実習11-4を解いてみる。

実習11-4.

コード(TextWrangler)

#include <stdio.h>

int main(){
  int n;
  int bit;
  int count;
  char line[100];
  while(1){
    printf("整数を入力: ");
    fgets(line,sizeof(line),stdin);
    sscanf(line,"%d",&n);
    count = 0;
    for(bit = 1; bit <= (1 << 15) ; bit = (bit <<1)){
      if((bit & n) == bit ){
        count++;
      }
    }
    printf("セットされているビットの数: %d\n",count);
  }
  return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
$ ./sample
整数を入力: 5
セットされているビットの数: 2
整数を入力: 6
セットされているビットの数: 2
整数を入力: 7
セットされているビットの数: 3
整数を入力: 8
セットされているビットの数: 1
整数を入力: 95
セットされているビットの数: 2
整数を入力: 10
セットされているビットの数: 2
整数を入力: -5
セットされているビットの数: 15
整数を入力: -4
セットされているビットの数: 14
整数を入力: -3
セットされているビットの数: 15
整数を入力: -2
セットされているビットの数: 15
整数を入力: -1
セットされているビットの数: 16
整数を入力: 1024
セットされているビットの数: 1
整数を入力: 32767
セットされているビットの数: 15
整数を入力: -32768
セットされているビットの数: 1
整数を入力: -32767
セットされているビットの数: 2
整数を入力: ^C
$

0 コメント:

コメントを投稿