Tue 09 19, 2006 19:44
ミクシィ
最近Mixi始めました(´ё`)
時代の流れに取り残されないよう・・・って今頃始めるあたり充分取り残されてますねw
興味のある方はどうぞ絡んできて下さいな!
※10/01日追記
諸事情によりリンク外しました。
もし絡んでくれる人が居たらコメントで教えて下さい(σ・∀・)σ
===============-
私信:
あの問題覚えてますか?
すっげー今更だけど解答をw
○行目ってのは渡したソースファイルの行の事ね
まだ持ってるかな・・・w
以下
---------
17行目で、4byteの領域をfloat型と見なして、195.625を代入しています。
195.625を2進数に直すと
11000011.101
です。これを浮動小数点形式で保存しています。
浮動小数点は
[符号][指数][仮数]
仮数部の先頭に小数点がありますが、正規形にする方法として
1)小数点の前が1になるようにする方法
1.1000011101*2^7
2)小数点の次が1になるようにする方法
0.11000011101*2^8
があります。
1000011101か11000011101を探すと1000011101があるので
1)の方法とわかります。
最上位ビットは符号なので、残りが指数部です。
1)の方法では、指数は7のはずですが、
10000110になっています。
10000110は10進数では134です。
127を加えるバイアス方式とわかります。
13行目のint型195を2進数であらわした結果が
00000000 00000000 00000000 11000011
ではなく
11000011 00000000 00000000 00000000
なので、下位バイトを下位のアドレスに置き、
上位バイトを上位アドレスに置くリトルエンディアン方式である事がわかっています。
よって、195.625を2進数で表した結果である
00000000 10100000 01000011 01000011
もリトルエンディアン方式で表されている事が判ります。
上位アドレスと下位アドレスを入れ替えて元に戻すと
01000011 01000011 10100000 00000000
[0][10000110][10000111010000000000000]
[符号][指数][仮数]
となり、浮動小数点で表されている事が判ります。
時代の流れに取り残されないよう・・・って今頃始めるあたり充分取り残されてますねw
興味のある方はどうぞ絡んできて下さいな!
※10/01日追記
諸事情によりリンク外しました。
もし絡んでくれる人が居たらコメントで教えて下さい(σ・∀・)σ
===============-
私信:
あの問題覚えてますか?
すっげー今更だけど解答をw
○行目ってのは渡したソースファイルの行の事ね
まだ持ってるかな・・・w
以下
---------
17行目で、4byteの領域をfloat型と見なして、195.625を代入しています。
195.625を2進数に直すと
11000011.101
です。これを浮動小数点形式で保存しています。
浮動小数点は
[符号][指数][仮数]
仮数部の先頭に小数点がありますが、正規形にする方法として
1)小数点の前が1になるようにする方法
1.1000011101*2^7
2)小数点の次が1になるようにする方法
0.11000011101*2^8
があります。
1000011101か11000011101を探すと1000011101があるので
1)の方法とわかります。
最上位ビットは符号なので、残りが指数部です。
1)の方法では、指数は7のはずですが、
10000110になっています。
10000110は10進数では134です。
127を加えるバイアス方式とわかります。
13行目のint型195を2進数であらわした結果が
00000000 00000000 00000000 11000011
ではなく
11000011 00000000 00000000 00000000
なので、下位バイトを下位のアドレスに置き、
上位バイトを上位アドレスに置くリトルエンディアン方式である事がわかっています。
よって、195.625を2進数で表した結果である
00000000 10100000 01000011 01000011
もリトルエンディアン方式で表されている事が判ります。
上位アドレスと下位アドレスを入れ替えて元に戻すと
01000011 01000011 10100000 00000000
[0][10000110][10000111010000000000000]
[符号][指数][仮数]
となり、浮動小数点で表されている事が判ります。


