プロが教えるわが家の防犯対策術!

VB2005で単精度実数を変換するには?
三菱のシーケンサとパソコンをEther通信させてパソコンでPLCデバイスを読み取り表示するアプリを
VB2005で作成中です。
今、行き詰っているのが2WORD(単精度実数)デバイスを取り込んで数値に変換する所です。
PLCからは例えばD0000デバイスに数値の1.1が入っている場合は下記のようになります。

D0000 : (CCCD)h
D0001 : (3F8C)h
↑単精度実数の1.1です。

"CCCD" "3F8C" を1.1に変換するにはどのような処理を行えば良いでしょうか?

おわかりの方、すみませんがよろしくお願いします。

A 回答 (1件)

/* ハードウェア系のコード書いた事ないけど、この手のコードで役に立つようだといいなあ */



namespace Q5694485

{

class MainClass

{

public static void Main (string[] args)

{

System.Single single = System.BitConverter.ToSingle(System.BitConverter.GetBytes(System.Convert.ToInt32("3F8CCCCD",16)),0);

System.Console.WriteLine(single);

return;

}

}

}
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

当方VB2005だったのですが、下記コードでバッチリうまくいきました!


dim sngRet as single;

sngRet = System.BitConverter.ToSingle(System.BitConverter.GetBytes(System.Convert.ToInt32("3F8CCCCD", 16)), 0)

sngRetに希望通りの実数値が入りました・・・嬉しいです!
はまってただけに、大変助かりました。

このたびはどうも有り難うございました。

お礼日時:2010/02/21 19:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!