使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データ タイプおよびリテラル

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/tpf1598412463935.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

浮動小数点の格納と処理

浮動小数点値を収めるために、8バイトが使用されます。

浮動小数点の値は、内部的にはIEEEの浮動小数点の形式で格納され、処理されます。浮動小数点の値は、最下位のバイトを先にして、1ビットは仮数の符号用に、11ビットは指数用に、52ビットは仮数用に格納されます。仮数符号は最高位ビットの位置にあり、指数の符号は指数フィールドの一部になっています。これは、(1024-指数)によって符号が決まる1024加算表記です。

同じ絶対値の負数は、符号用のビットだけが正数と異なります。

Vantageは、クライアントの浮動小数点の正規化値をサポートしていますが、非正規化値はサポートしていません。

IEEE浮動小数点値の範囲は、クライアント システムがサポートしている範囲よりも広い場合があります。したがって、Vantageで作成して格納した値を、クライアント システムへの送信用に変換しようとすると、エラー メッセージが返されることもあります。

FLOAT/REAL/DOUBLE PRECISIONの外部表現

以下のテーブルは、TeradataのFLOAT/REAL/DOUBLE PRECISIONデータ型のクライアント表現を示したものです。

アプリケーション定義とクライアント データ型を判別するのは、アプリケーション プログラマの責任です。

クライアントCPUアーキテクチャ クライアント表記
IBMメインフレーム 8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
  • 1ビットは、小数部の符号を表わします。
  • 7ビットは、16のべき乗指数の符号なしの実際の値にX’40’を加算して保管されたものを表わします。
  • 56ビットは、符号なし小数部を表わします。
UTS 8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
  • 1ビットは、小数部の符号を表わします。
  • 7ビットは、16のべき乗指数の符号なしの実際の値にX’40’を加算して保管されたものを表わします。
  • 56ビットは、符号なし小数部を表わします。
  • RISC
  • Motorola 68000
  • WE 32000
8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
  • 1ビットは、小数部の符号を表わします。
  • 11ビットは、2のべき乗指数の符号なしの実際の値にX’3FFH’を加算して保管されたものを表わします。
  • 52ビットは、符号なし小数部を表わします。
Intel 8バイト、64ビット(倍精度)の浮動小数点数(最下位バイトが最初)。以下の属性があります。
  • 1ビットは、小数部の符号を表わします。
  • 11ビットは、2のべき乗指数の符号なしの実際の値にX’3FFH’を加算して保管されたものを表わします。
  • 52ビットは、符号なし小数部を表わします。