下の表はIDLにおけるデータの型と扱うことのできるデータの範囲を表したもである。
C言語との大きな違いはIDLのBYTE型がC言語のunsigned charに対応しているぐらい。
なので言語構造はC言語と基本的には変らない。
配列名 | 型 | 範囲(10進数) | 備考 |
BYTE | byte | 0~255 | 1byte 符号なし |
INT | Integer | -32,768~32,767 | 2byte 整数 |
UINT | Unsigned Integer | 0~65533 | 2byte 整数 |
LONG | 32-bit signed integer | -2147483648~2147483647 | 4byte 整数 |
ULONG | 32-bit unsigned integer | 0~4294967295 | 4byte 整数 |
64bit LONG | 64-bit signed integer | -922,37203685477,808~922337203685477807 | 8byte 整数 |
64bit ULONG | 64-bit unsigned integer | 0~1844674,07370955,615 | 8byte 整数 |
FLOAT | 32-bit, single-precision, | -10^38~10^38 | 4byte 実数 |
DOUBLE | 64-bit, double-precision | -10^308~10^308 | 8byte 実数 |
COMPLEX | A real-imaginary pair of single-precision | ** | 複素数 |
DCOMPLEX | real-imaginary pair of double-precision | ** | 倍精度複素数 |
配列宣言関数
下表はデータを格納する配列をつくる時に宣言する関数。
例のようにA=INTARR(300,300,3)と宣言すると、XYZ平面において300*300*3の要素を持った整数型の配列Aがでる。
配列は最大8次元まで宣言することができる。
配列の限界はマシンのスペックに依存する。
関数 | 説明 | 例 |
STRARR | 文字型配列の宣言 | A=STARR(10,10) |
BYTARR | バイト型配列の宣言 | ** |
INTARR | 整数型配列の宣言 | A=INTARR(300,300,3) |
UUINTARR | 符号なし整数型配列の宣言 | ** |
LONARR | ロングワード型配列の宣言 | ** |
LON64ARR | 64ビットロングワード型配列の宣言 | ** |
ULONARR | 符号なしロングワード型配列の宣言 | ** |
ULON64ARR | 64ビット符号なしロングワード型配列の宣言 | ** |
FLTARR | 浮動小数点型配列の宣言 | A=FLTARR(10,20,30,5) |
DBLARR | 倍精度浮動小数点型配列の宣言 | ** |
COMPLEXARR | 複素数配列の宣言 | ** |
DCOMPLEXARR | 倍精度複素数配列の宣言 | ** |
型変換関数
存在する配列の型を別の型に変換する関数。
例のように、浮動小数点型から整数型に変換すると、小数点以下は切り捨てられる。
四捨五入したいときはFIX(値+0.5)になる。
関数 | 説明 | 例 |
STRING | 文字列型に変換 | ** |
BYTE | バイト型に変換 | ** |
FIX | 整数型に変換 | A=1.7 → B=FIX(A) → print, B → 1 |
UINT | 符号なし整数型に変換 | ** |
LONG | ロングワード型に変換 | ** |
LONG64 | 64ビットロングワード型に変換 | ** |
ULONG | 符号なしロングワード型に変換 | ** |
ULONG64 | 64ビット符号なしロングワード型に変換 | ** |
FLOAT | 浮動小数点型に変換 | A=1 → B=FLOAT(A) → print, B → 1.00000 |
DOUBLE | 倍精度浮動小数点型に変換 | ** |
COMPLEX | 複素数に変換 | ** |
DCOMPLEX | 倍精度複素数に変換 | ** |
以上を必要に応じて覚えるべし。
0 件のコメント:
コメントを投稿