トップ その他 ITスキル体系 情報の基礎理論 数値やデータの表し方 数値表現

数値表現―負数(補数)と小数の表し方

2の補数などわかりやすい!説明を心がけて、負数(補数)と小数の表し方をまとめています。

補数

補数について説明しています。

補数とは?

補数とは、ある数を基準となる数から引いた値のことです。 2進数には、1の補数と2の補数、10進数には、9の補数と10の補数があります。

求め方

補数の求め方についてまとめています。

2進数の表現範囲

負数を2の補数で表現する固定小数点表示法において、nビットで表現できる範囲は、
ー2n-1~2n-1ー1
となります。

絶対値が最大である数値を16進数で表現

負数を2の補数で表す16ビットの符号付固定小数点方式で、絶対値が最大である数値を16進数として表すと次のようになります。

16ビットの符号付小数点方式では先頭1ビットが符号となるので数値は15ビットで表されます。

15ビットで表現できる正の値は0~32767までとなり、符号を含めて負の値として表現できる範囲は-1~-32768となります。

絶対値32768を2進数で表すと16ビットで1000000000000000となり、 このビット列を反転させると0111111111111111となります。 これに1を加えると1000000000000000となり、15ビットすべてが0となります。 負の値なので符号ビットは「1」となります。

したがって、
   (1000000000000000)2=(8000)16
と表示されます。

浮動小数点数

浮動小数点数は、非常に大きな数や非常に小さな数を扱う場合に使用します。 浮動小数点数の構成は次のようになっています。

浮動小数点数の構成
図 浮動小数点数の構成

たとえば0.000000000000000101×23という数値では、 仮数部のけたが不足して表現できなくなってしまいます。

そこで、指数部を調整することで仮数部の左側の0をシフトして消していきます。 このように仮数部を調整することで仮数部の左側の0を消して、 より大きな数値やより小さな数値を表現できるようにする作業を正規化といいます。

正規化の例

ここでは10進数0.25を正規化した表現を考えます。

まず10進数0.25を2進数に基数変換します。
(0.25)10 = (0.01)2

次に2進数0.01を正規化します。
(0.01)2 = (0.1)2×2-1

よって仮数部は、(10000000000)2

指数部は2を基数とし、負数は2の補数で表現します。

また、-1を2の補数で表現します。
(1111)2 = (-1)10

したがって、
  S:仮数部の符号は正なので、0となります。
  e:指数部は(1111)2です。
  f:仮数部は(10000000000)2です。

マスクビット

マスクビットとは、必要な情報を取り出すために ビットごとのAND演算を行う際に使うビットパターンのことです。

マスクとはビット列中の必要な部分のみを取り出すために必要な部分に覆いをかけてしまうという意味で、 必要部分を1、不要部分を0のビットパターンとしてAND演算を行うことで、不要部分はすべて0となり、 必要部分のビットパターンはそのまま得ることが出来きます。

たとえば、IEEE754(1985)標準では、32ビットの浮動小数点を次の形式で表現します。

この指数部を取り出すためのマスクビットを、16進数表現したものを求めると次のようになります。

指数部分のみを取り出すので、2ビット目から8ビット分のみ1となったビットパターンがマスクとなり、 それを16進数表現します。
    0111111110000000000000000000000 ⇒ 7F800000

知識の幅を広げるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Eclipse /gcc /gdb /Git /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /Lucene /MyBatis /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

18.205.176.85

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク