直線上に配置


数値の表現形式と誤差
  • 小数点の表現

    コンピュータではより大きい(又は小さい)数値を表すために

    浮動小数点形式を利用します
    また、10進数を2進数で表現すると誤差が発生する場合が
    あります

  • 固定小数点形式
     小数点を最上位ビットの右側に設定
     ※有効桁数までしか表せない

    符号 .(小数点) 小数値

  • 浮動小数点形式
     数値に応じて小数点の位置を変える
    正規化
    「仮数 × 2^指数」の形に変形
    ※正規化のルール:2進数表現で
     「1 > 仮数 >= 0.1」
    ※別の考え方もある
    (IEEEでは「1.XXX形式に変形」)

    ・32ビットの浮動小数点形式(レイアウト)

    符号 指数 仮数
    1ビット 7ビット 24ビット
    ※符号はプラスが「0」、マイナスが「1」で表す

    ・浮動小数の例
     10進「23.875」の場合、
     2進数で表すと「00010111.1110」
     正規化すると
     「0.101111110 × 2^5」
     符号はプラスなので「0」となる
     レイアウトに配置すると

    符号 指数 仮数
    0 0000101 101111110000000000000000
    ※ここでは指数のマイナス(バイアス)は考慮していません

  • 誤差

    数値の表現方式や計算により発生する

    <誤差の種類>
    丸め誤差 切上、切捨て、四捨五入により発生
    打切り誤差 循環(無限)小数により発生
    けた落ち ほぼ同じ値の減算により発生
    (※有効に桁が利用されないため)
    情報落ち 大きな値と小さな値の加減算により発生
    (※小さな値が反映されない)
    オーバーフロー
    (桁あふれ)
    表現範囲の上限を超えることで発生
    アンダーフロー 表現範囲の下限を超えることで発生

  • ゾーン10進とパック10進
    誤差を発生させないための仕組み

    ・ゾーン10進数
    10進の1桁を1バイト(8ビット)で表す
    ※通常8ビットあれば正数値-128から127まで表現できる

    ゾーンビット 1桁の数値
    4ビット 4ビット
    ※最下位のゾーンビットには符号が設定される
      プラス「1100」、マイナス「1101」

    ・パック10進数
    10進の1桁を4ビットで表す

    1桁の数値 符号
    4ビット 4ビット
    ※奇数桁の場合は、最後に符号を付加
      偶数桁の場合は、最後のの1桁数値は「0000」で符号を付加

    ゾーン、パックの例:10進「234」の場合

    ゾーン(3バイト)
    0011 0010 0011 0011 1100 0100
    パック(2バイト)
    0010 0011 0100 1100


授業資料メニュー

お問合せフォーム

トップ アイコン
トップページへもどる


直線上に配置