- - PR -
double→byte[]、byte[]→doubleに変換する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-04-03 01:20
質問1
double値→byte[]、byte[]→double値に変換する方法は? int値の場合、例えば int x = 1234; byte[] b = new byte[4]; b[0]=(byte)((x >> 24) & 0xFF); b[1]=(byte)((x >> 16) & 0xFF); b[2]=(byte)((x >> & 0xFF); b[3]=(byte)(x & 0xFF); int y = (int)(b[0] << 24) | (int)(b[1] << 16) | (int)(b[2] << | (int)b[3] int値→byte[]に変換できますが、double値の場合はこの方法がうまくいきません。 double値でも使える方法はありますか? 質問2 応用として、doubleでは無くstruct全体→byte[]、byte[]→struct全体の相互変換も 可能でしょうか? ・structの長さはどうやって知ることができるのでしょうか? ・C#はダミーのbyteデータを挿入して、structのバイト境界に変更を加えることは あるのでしょうか? ※質問1、2共にセーフコードでエレガントな方法が第一希望ですが、 無ければ、アンセーフコードも良しとします。 |
|
投稿日時: 2004-04-03 06:09
基本的には System.BitConverter です。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6961&forum=7 ↑構造体等、細かいことについてはこのスレッドを参照してください。 あと、メニューに検索がありますから、利用しましょう。 |
|
投稿日時: 2004-04-03 09:02
ご返答ありがとうございました。
ご指摘のリンク情報でうまくいきました。 |
1