回答編集履歴
2
double を binary32 に変換するコードを追加
answer
CHANGED
@@ -7,4 +7,17 @@
|
|
7
7
|
float f = *(float *)&a;
|
8
8
|
printf("%g\n", f);
|
9
9
|
}
|
10
|
+
```
|
11
|
+
**追記**
|
12
|
+
[IEEE 754](https://ja.wikipedia.org/wiki/IEEE_754) によると、double は binary64 であり、binary32 は float だから、
|
13
|
+
```C
|
14
|
+
#include <stdio.h>
|
15
|
+
|
16
|
+
int main(void)
|
17
|
+
{
|
18
|
+
double d = 96.5;
|
19
|
+
float f = d;
|
20
|
+
printf("%#x\n", *(int *)&f);
|
21
|
+
}
|
22
|
+
|
10
23
|
```
|
1
コードの修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
int main(void)
|
5
5
|
{
|
6
|
-
|
6
|
+
int a = 0x42c10000;
|
7
7
|
float f = *(float *)&a;
|
8
8
|
printf("%g\n", f);
|
9
9
|
}
|