質問編集履歴

8

追記

2017/02/20 03:50

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,14 @@
11
11
  sign,exponent,fractionの順番
12
12
 
13
13
  doubleからlong,byte配列及び逆変換
14
+
15
+
16
+
17
+ ---
18
+
19
+ 追記3
20
+
21
+ ひつようなりゆうは、unityでげーむをつくっているときにmodを作るためのげんごのじっそうのためです。
14
22
 
15
23
 
16
24
 

7

タイトルを正確に

2017/02/20 03:50

投稿

anatawa12
anatawa12

スコア56

test CHANGED
@@ -1 +1 @@
1
- c#でdoubleからbyte配列,long及びその逆
1
+ unity c#でdoubleからbyte配列,long及びその逆
test CHANGED
File without changes

6

KSwordOfHasteさんのコメントを参考にタグの付け直し

2017/02/20 02:02

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
File without changes

5

名前を書き換えました

2017/02/20 01:44

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  ```c#
26
26
 
27
- public double d(ulong a){
27
+ public double to_double(ulong a){
28
28
 
29
29
  double c = (((a & (0x7FF << 52))>>52) - 0x400);
30
30
 
@@ -38,13 +38,13 @@
38
38
 
39
39
  }
40
40
 
41
- public double d(byte[8] a){
41
+ public double to_double(byte[8] a){
42
42
 
43
43
  return b((a[7]*Math.Pow(2, 0)) + (a[6]*Math.Pow(2, 8)) + (a[5]*Math.Pow(2, 16)) + (a[4]*Math.Pow(2, 24)) + (a[3]*Math.Pow(2, 32)) + (a[2]*Math.Pow(2, 40)) + (a[1]*Math.Pow(2, 48)) + (a[0]*Math.Pow(2, 56)));
44
44
 
45
45
  }
46
46
 
47
- public double b(ulong a, int x){
47
+ double double_decmial(ulong a, int x){
48
48
 
49
49
  if(x != 11){
50
50
 
@@ -61,6 +61,8 @@
61
61
  ```
62
62
 
63
63
  また、複数の問題があるので、しつもんをとりさげたいとおもってます。
64
+
65
+
64
66
 
65
67
 
66
68
 

4

追記

2017/02/20 01:41

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,57 @@
16
16
 
17
17
  ---
18
18
 
19
- 追記
19
+ 追記2
20
+
21
+ 不備が多くてごめんなさい。
22
+
23
+ long,byte配列からのはできました。
24
+
25
+ ```c#
26
+
27
+ public double d(ulong a){
28
+
29
+ double c = (((a & (0x7FF << 52))>>52) - 0x400);
30
+
31
+ return (((a & (1UL << 63)) < 0) ? 1 : -1) *
32
+
33
+ (c > 0 ? ((b(a,11) + 1) * Math.Pow(2, c))
34
+
35
+ : c < 0 ? (b(a,11) + 1) / Math.Pow(2, c)
36
+
37
+ : (b(a,11) + 1));
38
+
39
+ }
40
+
41
+ public double d(byte[8] a){
42
+
43
+ return b((a[7]*Math.Pow(2, 0)) + (a[6]*Math.Pow(2, 8)) + (a[5]*Math.Pow(2, 16)) + (a[4]*Math.Pow(2, 24)) + (a[3]*Math.Pow(2, 32)) + (a[2]*Math.Pow(2, 40)) + (a[1]*Math.Pow(2, 48)) + (a[0]*Math.Pow(2, 56)));
44
+
45
+ }
46
+
47
+ public double b(ulong a, int x){
48
+
49
+ if(x != 11){
50
+
51
+ return (((a & (ulong)Math.Pow(2, x))<<x) * 2 / (ulong)(12-x)) + b(a,x-1);
52
+
53
+ }else{
54
+
55
+ return 0;
56
+
57
+ }
58
+
59
+ }
60
+
61
+ ```
62
+
63
+ また、複数の問題があるので、しつもんをとりさげたいとおもってます。
64
+
65
+
66
+
67
+ ---
68
+
69
+ 追記1
20
70
 
21
71
  ①これはどこの課題でもありません。
22
72
 

3

追記

2017/02/20 01:22

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,15 @@
19
19
  追記
20
20
 
21
21
  ①これはどこの課題でもありません。
22
+
23
+ ②fraction部の小数を作るところで戸惑ってます。
24
+
25
+ できてる範囲は
26
+
27
+ ```
28
+
29
+ ((a & (1L << 63L)) ? 1 : -1) * ((a & (0x7FF << 52))>>52)
30
+
31
+ ```
32
+
33
+ こんな感じです

2

追記しました。途中です

2017/02/19 23:00

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -11,3 +11,11 @@
11
11
  sign,exponent,fractionの順番
12
12
 
13
13
  doubleからlong,byte配列及び逆変換
14
+
15
+
16
+
17
+ ---
18
+
19
+ 追記
20
+
21
+ ①これはどこの課題でもありません。

1

2017/02/19 22:48

投稿

anatawa12
anatawa12

スコア56

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- IEEE754で定義されてる2をきすうとしたケチ表現でdoubleからbit配列に変換し、それをbyte配列及びlong/ulongに変換及び逆変換したいです。
1
+ IEEE754で定義されてる2をきすうとしたケチ表現でdoubleからbyte配列及びlong/ulongに変換及び逆変換したいです。
2
2
 
3
3
  順番は、sign,exponent,fractionの順番です。
4
4