開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- 言語: C
- コンパイラ: UNIX ccコンパイラ (汎用UNIX)
『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) II部(単純なプログラミング)の11章(ビット演算)11.7(ビットのセットとクリアおよびテスト)設問11-1を解いてみる。
設問11-1.
char型は、ビット番号0123457だけど、DIRECT_CONNECTは、(1<<8)と存在しないビット番号にセット使用としているから。char型ではなく、short int型にすればいい。
修正
コード(TextWrangler)
#include <stdio.h> const short int HIGH_SPEED = (1<<7); const int DIRECT_CONNECT = (1<<8); short int flags = 0; int main(){ flags |= HIGH_SPEED; flags |= DIRECT_CONNECT; if((flags & HIGH_SPEED) != 0){ printf("High speed set\n"); } if((flags & DIRECT_CONNECT) != 0){ printf("Direct connect set\n"); } return (0); }
入出力結果(Terminal)
$ cc -g -o sample sample.c $ ./sample High speed set Direct connect set $
0 コメント:
コメントを投稿