負数を2の補数で表す16ビットの符号付固定小数点数の最小値を表すビット列を、16進数として表したものはどれか。
ア | 7FFF |
イ | 8000 |
ウ | 8001 |
エ | FFFF |
答え イ
【解説】
問題は、最小値を選べなので選択肢の中から負の数を探します。負の数は最上位ビットが1のものですから、16進数でいうと一番左の数字(英字)が8以上(8, 9, A, B, C, D, E, F)のものが負の数になります。
すなわち、候補はイ、ウ、エです。
16進数での負の数の大小の比較は難しいので、10進数に変換して比較します。
イ | 8000h=1000 0000 0000 0000b =(0111 1111 1111 1111b+1)=-32,768 |
ウ | 8001h=1000 0000 0000 0001b =(0111 1111 1111 1110b+1)=-32,767 |
エ | FFFFh=1111 1111 1111 1111b =(0000 0000 0000 0000b+1)=-1 |
【キーワード】
・2の補数
・固定小数点