回答編集履歴
4
追記対応
test
CHANGED
@@ -17,3 +17,23 @@
|
|
17
17
|
私の記憶では、上記以外は、ビット構成など同じだったはずです。
|
18
18
|
|
19
19
|
IEEE754を知った時、「え?仮数部が1以上2未満なの?」とビックリした記憶があります。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
#追記に対して
|
24
|
+
|
25
|
+
> 仮数部の16進数を10進数に直すと、6141635となります。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
そこがそもそも間違っています。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
0x5db6c3は、小数部ですが、23bitなので、省略された24bit目に整数部1を付けて、0xddb6c3 が仮数です。小数点は、先頭ビットの次にありますので2進数で表すと、0b1.101 1101 1011 0110 1100 0011 。指数は 0x7fから127を引いて0ですね。
|
34
|
+
|
35
|
+
仮数部を0.5以上にしないといけないので、仮数を2で割って、指数に1を足します。全体の値としては変わりません。仮数を2で割るというのは、2進数で小数点を1桁左へ移動させるということなので、0b0.1101 1101 1011 0110 1100 0011
|
36
|
+
|
37
|
+
仮数を10進数に直すと、0.5+0.25+0.0625+(以下略) = 0.8660699~
|
38
|
+
|
39
|
+
これに2の1乗を掛けた物が、元の数値になります。
|
3
訂正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
その通り、歴史的理由です。
|
6
6
|
|
7
|
-
C言語がUnix上で発展してきた事はご存じでしょうが、Unixは今は無きDEC(COMPAQが吸収合併さらにHPと合併)のPDP-11というコンピューター(ミニコン)上で
|
7
|
+
C言語がUnix上で発展してきた事はご存じでしょうが、初期のUnixは今は無きDEC(COMPAQが吸収合併さらにHPと合併)のPDP-11というコンピューター(ミニコン)上で動いていました。
|
8
8
|
|
9
9
|
PDP-11や後継のVAX-11が使っていた浮動小数点は、仮数部が0.5以上1未満になるように正規化されていました。
|
10
10
|
|
2
誤字訂正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
その通り、歴史的理由です。
|
6
6
|
|
7
|
-
C言語がUnix上で発展してきた事はご存じでしょうが、Unixは今は無きDEC(COMPAQが吸収合併さらにHPと合併)のPDP-11とうコンピューター(ミニコン)上で誕生しました。
|
7
|
+
C言語がUnix上で発展してきた事はご存じでしょうが、Unixは今は無きDEC(COMPAQが吸収合併さらにHPと合併)のPDP-11というコンピューター(ミニコン)上で誕生しました。
|
8
8
|
|
9
9
|
PDP-11や後継のVAX-11が使っていた浮動小数点は、仮数部が0.5以上1未満になるように正規化されていました。
|
10
10
|
|
1
訂正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
その通り、歴史的理由です。
|
6
6
|
|
7
|
-
C言語がUnix上で発展してきた事はご存じでしょうが、Unixは今は無きDEC(
|
7
|
+
C言語がUnix上で発展してきた事はご存じでしょうが、Unixは今は無きDEC(COMPAQが吸収合併さらにHPと合併)のPDP-11とうコンピューター(ミニコン)上で誕生しました。
|
8
8
|
|
9
9
|
PDP-11や後継のVAX-11が使っていた浮動小数点は、仮数部が0.5以上1未満になるように正規化されていました。
|
10
10
|
|