浜田のURRとは? わかりやすく解説

浜田のURR

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/26 15:29 UTC 版)

浮動小数点数」の記事における「浜田のURR」の解説

浜田穂積提案した方式で、Universal Representation of Real numbersの意でURRと名付けられている。−∞ ~ 0 ~ ∞ の区間を、次のように分割しながら、二進法による表現対応付ける、というのが基本的な考え方で、「符号と絶対値」形ではなく浮動小数点表現として比較的珍しい2の補数の形をしている。 100 = −∞ 101 = −2 110 = −1 111 = −0.5 000 = 0 001 = 0.5 010 = 1 011 = 2 ~ ∞ ここで±1前後は、区間両端の比が2なので、指数部表現終わったとみなすことができ、残り仮数部のように扱う(±1前後は、以後は1/2で等差分割する)。次のように分割続ける。 1000 = −∞ 1001 = −4 1010 = −2 1011 = −1.5 1100 = −1 1101 = −0.75 1110 = −0.5 1111 = −0.25 0000 = 0 0001 = 0.25 0010 = 0.5 0011 = 0.75 0100 = 1 0101 = 1.5 0110 = 2 0111 = 4 ~ ∞ 以降は、符号ビットが0である0 ~ 0.5 と 2 ~ ∞ の区間絞って説明する。 0 00000 = 0 0 00001 = 0.00390625 (1/256) 0 00010 = 0.0625 (1/16) 0 00100 = 0.25 (1/4) 0 01000 = 0.5 (1/2) 0 11000 = 2 0 11100 = 4 0 11110 = 16 0 11111 = 256 ~ ∞ ここで、2 = 220、4 = 22116 = 222256 = 223 である。このように 0 や ±∞ を含む区間は「二重指数分割」する。 0 000000 = 0 0 000001 = 0.0000152587890625 (1/65536) 0 000010 = 0.00390625 (1/256) 0 000011 = 0.015625 (1/64) 0 000100 = 0.0625 (1/16) 0 000110 = 0.125 (1/8) 0 001000 = 0.25 (1/4) 0 111000 = 4 (22) 0 111010 = 8 (23,3=(2+4)/2) 0 111100 = 16 (24) 0 111101 = 64 (26,6=(4+8)/2) 0 111110 = 256 (28) 0 111111 = 65536 ~ ∞ このように区間両端の比が2より大きい場合は、「等比分割」する。 以上のような操作結果として指数部が0以上の場合は "0 10" = 0 "0 11(1がn個)0(n個のビットBn)" = 1Bn (ガンマ符号桁数出力その後の"1"をビット反転したもの) 指数部が0未満場合は "0 01" = 上述の"0 10"の符号ビット以外をビット反転させたもの = 2進数"0"をビット反転させたもの = −1 "0 00(0がn個)1(n個のビットBnビット反転させたもの)" = 上述の"0 11(1がn個)0(n個のビットBn)"の符号ビット以外をビット反転させたもの = 2進数"1Bn"をビット反転させたもの = −(1Bn)−1 ビット反転して0以上にした後に上述方法適用した指数部を、再びビット反転したものとなる。こうして、負数拡張されガンマ符号によって自分長さを含む指数部と、残り仮数から成る、と見ることができるような表現得られる利点として、ビット表現固定小数点数解釈しても値・絶対値大小関係一致しているため、 単精度倍精度さらには4倍精度や、一部ビットデータ型判別などの別用途転用している処理系用いられる7bitや30bitなど、任意のビット表現との相互変換丸め操作が、この方式では単に最下位ビット追加した切り捨てるだけで良い 大小関係比較演算符号反転必要なハードウェア計算量が、整数でのそれと同一 という点が挙げられるまた、1の近くでは桁数のほとんどが仮数部となるので精度が高い。 欠点としては、精度変化するため従来精度一定前提としたノウハウ修正が必要かもしれない、−∞を除くワードあらゆるビット表現浮動小数点数としての意味が与えられるため、例外的な値を表現する方法別に考えなければいけない、などといった点がある。浜田は1000...を符号なしの∞(射影モード用。符号なしの0と対応する)とし、表現可能な最大と最小絶対値を持つ値を、具体的にその値を表すのではなく±∞と±0を表現するものとする(0は、通常の0を符号なしの0とし、符号付き+0や−0は、無限大割った結果など例外的なとしての現れる)、という方法提案している。 この表現法初出1981年だが、1983年改良版提案されているのでそちらをまずは参照すべきであるいくつかの実装報告改良提案などがある。

※この「浜田のURR」の解説は、「浮動小数点数」の解説の一部です。
「浜田のURR」を含む「浮動小数点数」の記事については、「浮動小数点数」の概要を参照ください。

ウィキペディア小見出し辞書の「浜田のURR」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「浜田のURR」の関連用語

浜田のURRのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



浜田のURRのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの浮動小数点数 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS