質問編集履歴
3
ソースコードが間違って載せていた
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,8 +51,8 @@
|
|
51
51
|
///
|
52
52
|
|
53
53
|
///
|
54
|
-
x = *(double*)&fuga1;
|
54
|
+
double x = *(double*)&fuga1;
|
55
|
-
y = *(double*)&fuga2;
|
55
|
+
double y = *(double*)&fuga2;
|
56
56
|
///
|
57
57
|
```
|
58
58
|
|
2
ソースコードが間違って載せていた
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,6 +27,7 @@
|
|
27
27
|
これらの値以外にもバイト型のデータを整数型に変換した値もありますが、こちらの方は計測装置側とプログラム側の出力値が一致したので、恐らくUDP通信に問題はないと思われます。
|
28
28
|
また、下に示すC#のコードは自分が実装したものではありませんが、実装した人曰くx、yの値は計測装置側とプログラム側で一致するらしいので、恐らくバイト型配列の取得位置も問題ないと思います。
|
29
29
|
従って、C#のBitConverter.ToDouble メソッドを用いたコードに対応するであろうc/c++でのバイト型配列のdouble型変換にエラーがあると思われます。
|
30
|
+
2つの値x,yはどちらも同じ処理を行います。
|
30
31
|
|
31
32
|
### 該当のソースコード
|
32
33
|
|
@@ -50,8 +51,8 @@
|
|
50
51
|
///
|
51
52
|
|
52
53
|
///
|
53
|
-
x = *(double*)&
|
54
|
+
x = *(double*)&fuga1;
|
54
|
-
y = *(double*)&
|
55
|
+
y = *(double*)&fuga2;
|
55
56
|
///
|
56
57
|
```
|
57
58
|
|
1
ソースコードが間違って載せていた
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,8 +41,8 @@
|
|
41
41
|
```C
|
42
42
|
byte data[20];
|
43
43
|
NetWorkRecvUDP(NetUDPHandle, NULL, NULL, Data, sizeof(Data), FALSE); #dxライブラリ関数使用
|
44
|
-
byte[]
|
44
|
+
byte fuga1[] = { data[7], data[6], data[5], data[4], data[3], data[2], data[1], data[0] };
|
45
|
-
byte[]
|
45
|
+
byte fuga2[] = { data[15], data[14], data[13], data[12], data[11], data[10], data[9], data[8] };
|
46
46
|
|
47
47
|
///
|
48
48
|
memcpy(&x, fuga1, sizeof(fuga1));
|