16進数 6D₁₆ を8ビットの2進数で表したものはどれか。
- 0
01101101₂
- 1
01101011₂
- 2
11010110₂
- 3
00001101₂
FIELD 02
2進数、データ量、文字コード、画像・音声のデジタル化、論理演算、コンピュータの構成などを扱います。単位と計算条件を丁寧に読むのがコツです。
タグは主に関連する分野へ整理しています。この一覧では複数選択のOR検索、各問題に付くタグからはそのタグだけの検索になります。
01101101₂
01101011₂
11010110₂
00001101₂
1010₂
1011₂
0110₂
0101₂
正答1. 1011₂
全ビットを反転して1010₂とし、1を加えると1011₂になる。0101₂+1011₂は下位4ビットで0000₂となる。 2進数の場合、元の数の0と1を入れ替えて、それに1を加えた数である。 実際、0101(2)+1011(2)=10000(2)=0000(2)である。 4ビット表記(固定長)において、0101(2)+1011(2)=0000(2)であったので、1011(2)=-5と考えられる。 4ビット表記、符号付きの数は以下のようにまとめられる(表)。 これにより、固定長なら足し算だけで引き算を計算することが可能になったと言うこともできる。
Pythonでは小数の加算が禁止されているため。
==が数値を文字列として比較するため。
0.1などを2進浮動小数点で正確に表せないため。
0.1+0.2の数学的な答えが0.3でないため。
正答2. 0.1などを2進浮動小数点で正確に表せないため。
0.1や0.2は2進数では有限小数にならず、近似値として保持されるため丸め誤差が生じる。 0.1+0.2を計算する際、浮動小数点数による丸め誤差が発生するため、0.3と等しくならない。 よって、0.1=1.1001 1001 1001 …×2⁻⁴である。 0.2=1.1001 1001 1001 …×2⁻³である。 Pythonでは通常、倍精度浮動小数点数(符号部1ビット、指数部11ビット、仮数部52ビット:全体で64ビット)で数を表現し、計算している。 仮数部を52桁になるように(四捨五入のような計算で)丸められる。 これにより誤差が生じる。 0.1と0.2は2進数では循環する小数になるため、浮動小数点数にすると丸め誤差が生じる。 浮動小数点数を用いて数を丸めたもの同士を足し合わせるため、0.3ちょうどにはならない。 0.30000000000000004となる。
標本化周期を長くし、量子化ビット数を小さくする。
標本化周波数を低くし、量子化ビット数だけを0にする。
標本化周期と標本化周波数を同時に大きくする。
標本化周波数を高くし、量子化ビット数を大きくする。
2.88MB
0.96MB
23.04MB
28.8MB
約5.3MB
約26.5MB
約52.9MB
約211.7MB
正答1. 約26.5MB
44,100回/秒×16ビット×300秒÷8=26,460,000Bなので約26.5MBである。 標本化周波数44.1kHzは、1秒間に44,100回、音の振幅を測ることを表す。5分は300秒なので標本数は44,100×300=13,230,000個。1標本は16ビット=2バイトで、モノラルは1チャンネルだから、13,230,000×2=26,460,000Bとなる。1MB=1,000,000Bより26.46MB、選択肢では約26.5MBが最も近い。ステレオなら2チャンネルなので、この2倍になる。
37.5MB
625MB
187.5MB
1,500MB
展開しても元のデータを完全には復元できない。
画像や音声の画質を必ず低下させる。
MP3だけに用いられる音声専用の方式である。
展開すると元のデータを完全に復元できる。
図形を座標や数式で表すベクタ画像として作成する。
低解像度のラスタ画像だけを保存し、拡大時は各ピクセルを大きくする。
色数を1色にすれば、ラスタ画像でも解像度に関係なく滑らかになる。
音声用の非可逆圧縮を使って輪郭情報を保存する。
正答0. 図形を座標や数式で表すベクタ画像として作成する。
ベクタ画像は拡大・縮小しても輪郭が劣化しにくく、ロゴや図形に適する。 ラスタ画像(ビットマップ画像)はピクセルと呼ばれる小さな点を格子状に配置して画像を表現する。 写真のように色やグラデーションが複雑な画像の表現に向いている。 一方で、格子状の点の集まりのため斜め線がギザギザになったり、拡大で画像が粗く劣化する。 ベクタ画像は線分や円、多角形などの図形の集合として画像を表現する。 拡大や縮小、回転などが自由に行える。
AND(論理積)
XOR(排他的論理和)
OR(論理和)
NOT(否定)