[IEEE754]浮動小数
だから忘れぬようにメモしておく、、、
補数表現による負数は減算への利用でよくシスアドとかに出てくるよね。
ビット反転させて、(1)2を足すだけ。8bitの整数表現で-102を表現したければ、
(102)10⇒(66)16⇒(01100110)2
(-102)10⇒(10011010)2となる
IEEE754として標準化されているの浮動小数点数演算について、
単精度浮動小数点数は 符号1bit 指数部8bit 仮数部23bit の計32bit
符号をhidden bitとすれば…
-3.5=-(11.1)2=-(1.11×21)2
⇒ "1 | 1000 0000 | 1100 0000 0000 0000 0000 0000"
15.75=-(1111.11)2=-(1.11111×23)2
⇒ "0 | 1000 0010 | 1111 1000 0000 0000 0000 0000"
指数部の例:
1000 0010 23 0111 1111 20
1000 0001 22 0111 1110 2-1
1000 0000 21 0111 1101 2-2
10進数への換算は逆の考え
例:”1 | 1000 0100 | 1101 0000 0000 0000 0000”
- | 25 | 1.1101 ⇒ -(111010) ⇒ - (32+16+8+2) ⇒-58
ソースの表示用JavaScriptの"dp.SyntaxHighlighter"を導入したので試して見る。
>java FloatingPoint -3.5
-3.5 = 11000000011000000000000000000000
>java FloatingPoint 15.75
15.75 = 1000001011111000000000000000000
>java FloatingPoint -58
-58 = 11000010011010000000000000000000
トラックバック(0)
このブログ記事を参照しているブログ一覧: [IEEE754]浮動小数
このブログ記事に対するトラックバックURL: http://delta50.net/mt/mt-tb.cgi/17
コメントする