■機能 与えられた連続する8バイトバイナリデータ(IEEE形式)をdouble(Double)値に変換し、配列に格納します。
■書式
(VB.NET用)
Dim Ret As Integer
Dim Str(xxxx) As Byte ' (xxxxはバイナリデータのサイズを指定)
Dim DblData(xxxx) As Double ' (xxxxは変換後のデータ数を指定)
Dim ArraySize As Integer
Ret = GpCnvCvdArray(Str, DblData, ArraySize)
(C言語用)
DWORD Ret;
BYTE *Str;
double *DblData;
DWORD ArraySize;
Ret = GpCnvCvdArray(Str, DblData, ArraySize);
(C#用)
uint Ret;
byte[] Str = new byte[xxxx]; /* (xxxxはバイナリデータのサイズを指定) */
double[] DblData = new double[xxxx]; /* (xxxxは変換後のデータ数を指定) */
uint ArraySize;
Ret = gpib.CnvCvdArray(Str, DblData, ArraySize);
(Python用)
Ret = ctypes.c_ulong()
Str = (ctypes.c_ubyte * xxxx)() #(xxxxはバイナリデータのサイズを指定)
DblData = (ctypes.c_double * xxxx)() #(xxxxは変換後のデータ数を指定)
ArraySize = ctypes.c_ulong()
Ret.value = GpibPy.GpCnvCvdArray(Str, DblData, ArraySize)
■モード マスタモード/スレーブモード
■引数
Str : 変換するバイナリデータ配列
機器等から受け取ったIEEE形式の倍精度浮動小数を表す8バイトバイナリデータを指定します。
この配列には8バイトのバイナリデータが連続して入っている必要があります。
DblData : (出力)変換したdouble値の配列(VBではDouble値)
ArraySize : DblDataの配列の大きさ
Ret : 終了情報(戻り値)
0 : 正常終了
255 : パラメータエラー
(詳細は「戻り値一覧」参照)
■補足
①この関数に与えられるバイナリデータは以下の条件を満たしている必要があります。
IEEE形式の倍精度浮動小数を表すバイナリデータであること。
Strには8バイトバイナリデータが連続して入っていること。
Strのバイト数は(ArraySize×8)バイト以上あること。この条件が満たされない場合、動作は保証されません。
②デフォルトでは8バイトデータのうち、1バイト目のデータに符号ビットがあるものとして変換します。
8バイト目のデータに符号ビットがあるものとして変換したい場合にはCnvCvSettingsを実行してください。
③この関数はArraySizeの値をもとに変換を行ないます。
Strのバイト数と混同しないようご注意ください。
Str配列のバイト数とArraySizeの関係は次の通りになる必要があります。
Str配列のバイト数 >= ArraySize × 8
つまりStr配列のバイト数が24バイトあったとしても、ArraySizeを1に設定すれば変換は最初の8バイト分しか行なわれません。
④この関数はGpIni関数をコールしていなくても使用することができます。
⑤この関数はQuickBasicのCVD関数とほぼ同等の機能を提供します。