teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

double を binary32 に変換するコードを追加

2021/02/09 17:32

投稿

kazuma-s
kazuma-s

スコア8222

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

コードの修正

2021/02/09 17:32

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  int main(void)
5
5
  {
6
- long a = 0x42c10000;
6
+ int a = 0x42c10000;
7
7
  float f = *(float *)&a;
8
8
  printf("%g\n", f);
9
9
  }