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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

浮動小数点の格納と処理

浮動小数点値を収めるために、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ビットは、符号なし小数部を表わします。