開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- C++ (プログラミング言語)
- g++(コンパイラ)
C++実践プログラミング (スティーブ オウアルライン (著)、Steve Oualline (原著)、Steve Oualline(原著)、望月 康司(翻訳)、クイープ(翻訳) 、オライリー・ジャパン)のⅡ部(シンプルなプログラミング)の11章(ビット演算)、11.8(ビットマップグラフィックス)、実習 11-5.を解いてみる。
その他参考書籍
- C++プログラミング入門 (グレゴリー サティア (著)、ダウグ ブラウン (著)、Gregory Satir (原著)、Doug Brown (原著)、望月 康司 (翻訳)、谷口 功 (翻訳)、オライリージャパン)
実習 11-5.
コード(BBEdit, Emacs)
sample195_4.cpp
#include <iostream> int main() { long int n; void split_long_int(long int n); for (n = -32; n < 32; ++n) { std::cout << n << ": "; split_long_int(n); } long int a = 2147483647; long int b = -2147483648; std::cout << a << ": "; split_long_int(a); std::cout << b << ": "; split_long_int(b); return (0); } void split_long_int(long int n) { long int m = 0xf; int i; for (i = 7; i >= 0; --i) { std::cout << (((n & (m << (i * 4))) >> (i * 4)) & m) << ' '; } std::cout << '\n'; }
Makefile
# # FSFのg++コンパイラ用のMakefile # CC=g++ CFLAGS=-g -Wall all: sample195_5 sample195_5: sample195_5.cpp ${CC} ${CFLAGS} -o sample195_5 sample195_5.cpp clean: rm sample195_5
入出力結果(Terminal)
$ make && ./sample195_5 g++ -g -Wall -o sample195_5 sample195_5.cpp -32: 15 15 15 15 15 15 14 0 -31: 15 15 15 15 15 15 14 1 -30: 15 15 15 15 15 15 14 2 -29: 15 15 15 15 15 15 14 3 -28: 15 15 15 15 15 15 14 4 -27: 15 15 15 15 15 15 14 5 -26: 15 15 15 15 15 15 14 6 -25: 15 15 15 15 15 15 14 7 -24: 15 15 15 15 15 15 14 8 -23: 15 15 15 15 15 15 14 9 -22: 15 15 15 15 15 15 14 10 -21: 15 15 15 15 15 15 14 11 -20: 15 15 15 15 15 15 14 12 -19: 15 15 15 15 15 15 14 13 -18: 15 15 15 15 15 15 14 14 -17: 15 15 15 15 15 15 14 15 -16: 15 15 15 15 15 15 15 0 -15: 15 15 15 15 15 15 15 1 -14: 15 15 15 15 15 15 15 2 -13: 15 15 15 15 15 15 15 3 -12: 15 15 15 15 15 15 15 4 -11: 15 15 15 15 15 15 15 5 -10: 15 15 15 15 15 15 15 6 -9: 15 15 15 15 15 15 15 7 -8: 15 15 15 15 15 15 15 8 -7: 15 15 15 15 15 15 15 9 -6: 15 15 15 15 15 15 15 10 -5: 15 15 15 15 15 15 15 11 -4: 15 15 15 15 15 15 15 12 -3: 15 15 15 15 15 15 15 13 -2: 15 15 15 15 15 15 15 14 -1: 15 15 15 15 15 15 15 15 0: 0 0 0 0 0 0 0 0 1: 0 0 0 0 0 0 0 1 2: 0 0 0 0 0 0 0 2 3: 0 0 0 0 0 0 0 3 4: 0 0 0 0 0 0 0 4 5: 0 0 0 0 0 0 0 5 6: 0 0 0 0 0 0 0 6 7: 0 0 0 0 0 0 0 7 8: 0 0 0 0 0 0 0 8 9: 0 0 0 0 0 0 0 9 10: 0 0 0 0 0 0 0 10 11: 0 0 0 0 0 0 0 11 12: 0 0 0 0 0 0 0 12 13: 0 0 0 0 0 0 0 13 14: 0 0 0 0 0 0 0 14 15: 0 0 0 0 0 0 0 15 16: 0 0 0 0 0 0 1 0 17: 0 0 0 0 0 0 1 1 18: 0 0 0 0 0 0 1 2 19: 0 0 0 0 0 0 1 3 20: 0 0 0 0 0 0 1 4 21: 0 0 0 0 0 0 1 5 22: 0 0 0 0 0 0 1 6 23: 0 0 0 0 0 0 1 7 24: 0 0 0 0 0 0 1 8 25: 0 0 0 0 0 0 1 9 26: 0 0 0 0 0 0 1 10 27: 0 0 0 0 0 0 1 11 28: 0 0 0 0 0 0 1 12 29: 0 0 0 0 0 0 1 13 30: 0 0 0 0 0 0 1 14 31: 0 0 0 0 0 0 1 15 2147483647: 7 15 15 15 15 15 15 15 -2147483648: 8 0 0 0 0 0 0 0 $
0 コメント:
コメントを投稿