符号拡張(ふごうかくちょう)とは、符号付き整数を、より大きなビット幅に変換する際に、正の数なら正の数のまま、負の数なら負の数のまま拡張する手法のこと。
小さいビットから大きいビットに変換できるが、逆はできない。入り切らないビットが溢れてしまうから。
例えば、1111 1101という8ビットの整数(2の補数表現。10進数では-3)があるとき、16ビットに変換するには、最上位ビットの「1」を拡張して、1111 1111 1111 1101 となる。これも2の補数表現として考え、10進数では-3となる。
ちなみに最上位ビットが0の場合は0で空欄を埋める。
コメント