ホーム » スタッフ » 斉藤徹 » bit演算と情報量の計算

2010年6月
« 5月   7月 »
 12345
6789101112
13141516171819
20212223242526
27282930  

最近の投稿(電子情報)

アーカイブ

カテゴリー

bit演算と情報量の計算

テスト前の最後ということで、プログラミングの基礎としての基本計算機能としての、 bit演算子の説明と、数値の意味を理解するための情報量の計算について説明した。

bit演算子

bit演算子としては、&(AND),|(OR),^(EXOR),~(NOT)の説明を行い、 以下のようなプログラムも交え論理演算子との違いも強調する。

printf( "%d" , 3 && 5 ) ; // 0以外が表示
printf( "%d" , 3 & 5 ) ; // 0011 and 0101 = 0001

これに加え、<< , >> といったビットシフト演算子を示したり、 bit演算子による負数などを説明する。

printf( "%d" , (~3)+1 ) ; // -3が表示。bit反転+1=2の補数

情報量

確率の逆数の和といった説明は5年の授業に残しておいて、 0~255の256通りは、8bitで覚えることができる…といった説明から、 R,G,B各色256諧調の640x480dotの画面を覚えるのに、どれだけのメモリが必要か? とか、 0~65535の音の大きさ、ステレオで、サンプリングレート44.1KHz、74分のデータを 覚えるために、どの程度のメモリが必要か?

ネタとして、74分の理由を説明したけど、Webを調べると色々な説が紹介されている。 ググったトップのネタだと、 CDの規格を決めた人が規格を正当性を主張するためにハッタリでカラヤンの名前を出したという記事が… ということで、諸説はっきりしないみたいだな…