このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第468回

いまさら聞けないIT用語集 浮動小数点演算の単精度と倍精度って?

2018年07月23日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

基本となる単精度浮動小数点演算
2進数を10進数に変換すると誤差が生まれる

 まず基本であるBinary32の説明をしよう。いわゆる単精度浮動小数点演算と呼ばれているものに使われるのがこれだ。この内部フォーマットは下図のようになっている。

単精度浮動小数点演算の内部フォーマット

 「あれ、上の表と仮数のサイズが違う」といわれそうだが、上の表は仮数部に符号bitを含んだものになっている。つまり符号+23bitで合計24bitという表現である。

 さて、符号bitは0なら正、1なら負でこれはダイレクトだが、その先はやや複雑な仕組みである。まず指数部。00000000(0)の場合は数字そのものが0、もしくは非正規数(0ではないけど、限りなく0に近い小さな数字)を、11111111(255)の場合は無限大もしくはNaN(Not a Number:数字ではない)を意味する。

 普通の数字なら00000001(1)~11111110(254)までの範囲になるのだが、ここから127を引いて-126~127の値を表現する。つまり2-126~2127という範囲になる。

 一方仮数部。こちらは指数部が0でない場合、最上位に暗黙の“1”を立てる。すると仮数部は23bit分しかないにもかかわらず、実質的に24bit分になる。

 これが大きいのは、23bitでは10進相当で6.923桁分で、つまり有効数字が7桁にならない。ところが24bitにすると7.224桁分で、有効数字が7桁になるためである。よって仮数部の表現は頭に1がついており、これが"1."に相当する。下の例がわかりやすいだろう。

Binary32での演算
仮数部の表現 内部での扱い方
00000000000000000000000
10000000000000000000000
11000000000000000000000
11100000000000000000000
      :
11111111111111111111111
100000000000000000000000
110000000000000000000000
111000000000000000000000
111100000000000000000000
      :
111111111111111111111111
1.0
1.5
1.75
1.875
 :
1.99999988079071

 この「値」は2進数なので、1.0~1.999999...の範囲に収まる形になる。もちろんこれは内部表現であって、実際には10進数に内部で変換して出力することになる。

 Binary64/128/256は、単純に仮数部と指数部の桁が増える(結果、仮数部の有効数字が増え、また扱える値の範囲が広がる)し、逆にBinary16は桁が半分以下に落ちるので、有効数字・扱える値の範囲ともに狭まることになる。

 ちなみにDecimal32/64/128は、きちんと10進数の演算が必要な場合に利用される。Decimal32では以下のようになり、きちんと割り切れる数字ではない。

Decimal32での演算
仮数部の表現 内部での扱い方
00000000000000000000000
01000000000000000000000
00100000000000000000000
00010000000000000000000
00001000000000000000000
00000100000000000000000
00000010000000000000000
00000001000000000000000
00000000100000000000000
00000000010000000000000
00000000001000000000000
00000000000100000000000
00000000000010000000000
00000000000001000000000
00000000000000100000000
00000000000000010000000
00000000000000001000000
00000000000000000100000
00000000000000000010000
00000000000000000001000
00000000000000000000100
00000000000000000000010
00000000000000000000001
1.5
1.25
1.125
1.0625
1.03125
1.015625
1.0078125
1.00390625
1.001953125
1.0009765625
1.00048828125
1.000244140625
1.0001220703125
1.00006103515625
1.000030517578125
1.0000152587890625
1.00000762939453125
1.000003814697265125
1.0000019073486325625
1.00000095367431628125
1.000000476837153140625
1.0000002384185765703125
1.00000011920928828516625

 10進法なら1.1+0.1=1.2は当たり前だが、2進法ではこれが「1.1に限りなく近い値」+「0.1に限りなく近い値」という計算になるため、たまに1.2にならない場合がありえる(有効数字次第ではあるが)。

 実はこれにまつわる有名な話がある。米軍のパトリオット地対空ミサイルが、湾岸戦争のさなかの1991年2月、イラク軍のスカッドミサイルの迎撃に失敗するという事件があった。

 この原因は、パトリオットの制御に利用していたプログラムが、内部で24bitのカウンターを利用して時間を測定していたのだが、2進/10進の変換の誤差が蓄積した結果、タイミングが0.34秒ずれたことである。

 原因がわかったことで、現場での対処(煩雑にシステムを再起動して誤差の蓄積を解消)が可能になったが、根本的には2進数をベースにするとどうしても誤差を避けられないということで、こうした用途向けに10進数ベースの浮動小数点フォーマットも追加されることになった。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,130
2
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
¥177,333
3
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - ブラッシュ
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - ブラッシュ
¥95,768
4
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
【整備済み品】 富士通 タブレット ノートパソコン ARROWS Tab V727 12.3インチ 中古 タブレット【Windows 11 】【MS Office2019 H&B 搭載 】第7世代 Core M3/ メモリ 4GB / SSD 128GB /無線LAN/HDMI/LTE/タッチペン 付属(整備済み品)
¥10,500
5
【整備済み品】中古 ノートパソコン富士通 A579/ 15.6型/ 第8世代Core i5-8365U/ 快適メモリ 8GB/ 高速SSD 256GB/ Win11 Pro/MS Office 2019付属/ テンキー・Webカメラ/豊富な接続端子(HDMI, VGA, USB 3.0)/ ACアダプター付属/初期設定済み・届いてすぐ使用可能/ 180日保証
【整備済み品】中古 ノートパソコン富士通 A579/ 15.6型/ 第8世代Core i5-8365U/ 快適メモリ 8GB/ 高速SSD 256GB/ Win11 Pro/MS Office 2019付属/ テンキー・Webカメラ/豊富な接続端子(HDMI, VGA, USB 3.0)/ ACアダプター付属/初期設定済み・届いてすぐ使用可能/ 180日保証
¥23,636

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,404
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
4
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
5
JAMJAKE iPad用ペンシル アップルペンシル代用ペン 2018年~2026年 iPad対応 タッチペン 超高感度 極細 スタイラスペン Type-C急速充電 傾き感知/磁気吸着/誤作動防止機能対応 軽量 耐摩 学生 子供 筆記 絵を描く デザイン用 ドローイング用
JAMJAKE iPad用ペンシル アップルペンシル代用ペン 2018年~2026年 iPad対応 タッチペン 超高感度 極細 スタイラスペン Type-C急速充電 傾き感知/磁気吸着/誤作動防止機能対応 軽量 耐摩 学生 子供 筆記 絵を描く デザイン用 ドローイング用
¥1,880
6
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
7
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
8
対応 iPad 11世代 / 10世代 ガラスフィルム (2025/2022モデル) ガイド枠付き 【2枚セット-日本旭硝子素材】対応 iPad第10世代 2022 第11世代A16 10.9インチ 保護フィルム フィルム 強化ガラス スマートタブレット 第11世代2025 第10世代2022 液晶保護フィルム ガイド枠 全面保護 2.5D 硬度9 H 耐衝撃 飛散防止 貼り付け簡単 自動吸着 気泡ゼロ 指紋防止 ラウンドエッジ加工 超薄0.26mm 超高質感 スマートタブレット SENTM-2IP10D-1
対応 iPad 11世代 / 10世代 ガラスフィルム (2025/2022モデル) ガイド枠付き 【2枚セット-日本旭硝子素材】対応 iPad第10世代 2022 第11世代A16 10.9インチ 保護フィルム フィルム 強化ガラス スマートタブレット 第11世代2025 第10世代2022 液晶保護フィルム ガイド枠 全面保護 2.5D 硬度9 H 耐衝撃 飛散防止 貼り付け簡単 自動吸着 気泡ゼロ 指紋防止 ラウンドエッジ加工 超薄0.26mm 超高質感 スマートタブレット SENTM-2IP10D-1
¥998
9
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
10
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥2,152

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン