符号付数値表現
符号付数値表現
符号付数値
符号付数値とは、負の値の(コンピュータが処理しやすい形式の)表現手法である。 コンピュータは直接10進数を扱えないので2進数で処理を行うが、この時の負の値を2進数で表現する手法である。
負の値を表現するには、負であること示す印が必要になります。 このためには、先頭ビットを符号として利用し、のこりのビットを重さであらわすことが一般できです。 この残り符号以外のビットをどのように扱うかによって、「1の補数」、「2の補数」、「絶対表現」、「エクセスN」等があります。 ただ、実際に使用されているのは、「2の補数」が一般的に思います。
1の補数
1の補数とは、2進数で表現する各Bitを反転した状態をしめす。実際にはある値に対してビット単位のNOT演算を行えば結果が得られます。 注意が必要な点として、8Bitで 0を表現した場合には二種類の表現方法があることです(00000000 (+0), 11111111 (−0))。
実際に1の補数を使用しているコンピュータはあまり聞いたことはなく、むしろ「2の補数」の導入のために用いられているような感じに見えます。
2の補数
2の補数とは、1の補数に1を加えた表現方法で、Bitを反転後い1を加算して得られます。 2の補数で8Bitの0を表現した場合、一種類で 00000000 のみになります。なお、11111111 は、-1 として扱われます
現在のコンピュータは、ほとんどの場合は2の補数を使用していると思います。
2の補数を使用している最大の要因は、引き算を加算機能で実現できることにあります。
つまり、「2 - 1」を計算するときは、「2 +(-1)」を行えばよいので効率的です。
絶対表現
絶対表現とは、先頭の符号ビットで正負を表現し、のこりのビットは絶対値を示すような方法です。
「絶対表現」としていますが、「絶対値表現」が正しいかもしれません。またWikiphedhiaでは「符号-仮数部」として記載されています。
エクセスN
エクセスNとは、あらかじめ特定の自然数Nを決めておき、このNの値をバイアスとして用いる方法です。
「エクセスN」という言葉はあまり聞きませんが、要するに特定の値分かさ上げして扱う方法です。
特定の値分「かさ上げ」しますので、このかさ上げ分扱う値域がことなります。
CPUがネイティブに扱うことは無いと思いますが、ある値をメモリやファイルに保存する場合に、使われる可能性はあります。 正負に偏りがあるデータ(温度等)を記録する場合使用されているかもしれません。、