型変換関数
- 更新日2025-07-30
- 5分で読める
xを平坦化した後、新規データタイプを使用して非平坦化することにより、データタイプ (タイプ) に型変換します。関数がデータを変換する代わりに解釈する必要がある場合、LabVIEWは一時バッファを使用します。この関数は、データを再解釈する恐れがあります。データの変換中にデータ値を保持するには、代わりに「タイプに強制変換」関数を使用します。

入力/出力
タイプ
—
タイプは、変換するデータのデータタイプです。定数または制御器のいずれかをタイプに配線し、データタイプをデータを変換するタイプに設定します。LabVIEWは、タイプに配線する定数または制御器のデータのすべてを無視します。
x
—
xは、変換するデータを指定します。 この入力は、任意のデータタイプを受け入れます。
*(type *) &x
—
*(type *) &xは、xで提供される値で、タイプと同じデータタイプに変換されます。 |
「型変換」関数か「タイプに強制変換」関数を選択する
「タイプに強制変換」関数も、データを所望のデータタイプに変換します。「型変換」関数では、「タイプに強制変換」関数とは異なり、入力データを平坦化または非平坦化することで互換性のないデータタイプ間の変換が可能であるため、データが根本的に再解釈される場合があります。所望のデータタイプが入力データと異なるメモリサイズを必要とする場合は、「型変換」関数により入力データが再解釈される可能性があります。「タイプに強制変換」関数は、強制ドットのように、入力データの値を維持するために互換性のあるデータタイプ間のみで変換を行います。また、「タイプに強制変換」を使用して、ユーザイベントrefnumのようなワイヤ上のデータのタイプ定義を変換したり、名前を変更したりすることもできます。NIでは、データの再解析を避けるために、「型変換」関数の代わりに「タイプに強制変換」関数を使用することを推奨しています。
Xとタイプのサイズが異なる場合の影響
この関数は、xとタイプが同じサイズでない場合、予期せぬデータを生成することがあります。xがタイプよりもより大きいストーレジを必要とする場合、この関数はxの上位バイトを使用して、残りの下位バイトを破棄します。xがタイプよりも小さいデータタイプである場合、関数はxのデータをタイプの上位バイトに移動して、残りのバイトをゼロでパッドします。たとえば、値が1の符号なし8ビット整数を符号なし16ビット整数に型変換すると、結果は256になります。
配列を型変換する
この関数では、スカラの配列またはスカラのクラスタの配列が使用できます。たとえば、16ビット整数を4つもつ配列を32ビット整数の配列に型変換すると、出力配列には各要素が入力配列の要素ペアのビットで形成された2つの要素が格納されます。入力配列に、出力要素の整数を形成するために必要なバイト数が含まれていない場合、入力配列の最後の要素は無視されます。
リファレンスを型変換する
リファレンスをアップキャストまたはダウンキャストする場合、「型変換」関数ではなく「より一般的なクラスに変換」関数および「より特定のクラスに変換」関数を使用します。「型変換」関数はエラーチェックの機能を提供しませんが、「より一般的なクラスに変換」関数と「より特定のクラスに変換」関数ではこの機能を使用できます。「より特定のクラスに変換」関数には、エラー入力パラメータとエラー出力パラメータがあります。「より一般的なクラスに変換」関数を使用する場合、リファレンスを互換性のないターゲットクラスに配線すると、編集時にワイヤが壊れます。
ブールデータを旧バージョンのLabVIEWから型変換する
xにLabVIEW 4.x以前で作成されたブールデータが含まれる可能性がある場合は、関数を右クリックして、ショートカットメニューから4.x データの変換を選択して、データをLabVIEW 5.0以降で読み取り可能な形式に変換する必要があります。4.x データの変換モードでは、この関数はxがLabVIEW 4.xデータストレージレイアウトで保存されているかのように解釈して、この関数上に赤い4.xのアイコンを表示します。LabVIEW 4.x以前では、ブールデータは2バイトで保存されます。ただし、データが配列にある場合は、単一ビットでブール要素が保存されます。LabVIEW 5.0以降では、ブール値が配列内にあるないに関係なく、すべて1バイトで保存されます。NIでは、4.x データの変換モードを長期的ソリューションとして使用したアプリケーションを再度構築することを推奨します。
タイプ
—
x
—
*(type *) &x
—