• ベストアンサー

単精度浮動小数点方式、16進数

10進数で22.75で表される値を単精度浮動小数点方式で表現し,それを16進数に変換するとどうなりますか? 22.75(10)→1.421875 4+127=131=10000011(2) 0.421875=0.011011(2) ここからのやり方教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.1

以下のようになります。 41 b6 00 00 ビット構成に関してはネットで調べてください。

その他の回答 (2)

  • info222_
  • ベストアンサー率61% (1053/1707)
回答No.3

符号ビット(1ビット)=0(正) 指数部(8ビット)=10000011 仮数部(23ビット)=01101100000000000000000 単精度浮動小数点方式の2進表現は、以上を順に並べればよいから 0+10000011+01101100000000000000000 =0100 0001 1011 0110 0000 0000 0000 0000(2) 単精度浮動小数点方式の16進数の表現は、2進表現を4ビットごとに区切って、それぞれの4ビットの組を16進数にして並べればよいから 0100 0001 1011 0110 0000 0000 0000 0000(2) = 4 1 B 6 0 0 0 0 (16) =41B60000(16) --- (答)

参考URL:
http://ja.wikipedia.org/wiki/単精度浮動小数点数
  • chie65535
  • ベストアンサー率43% (8507/19342)
回答No.2

単精度浮動小数点方式のビット並びは SEEE EEEE EFFF FFFF FFFF FFFF FFFF FFFF S=符号1ビット E=指数8ビット F=仮数23ビット まずは符号。正なのでSは0。 0EEE EEEE EFFF FFFF FFFF FFFF FFFF FFFF 次に指数を求める。 22.75=1.421875×2^4 であるので、指数は4。指数は127のバイアスが掛かっているので、127+4=131。 指数は8ビットなので、131を2進数にして10000011にして、Eの部分に挿入する。 0100 0001 1FFF FFFF FFFF FFFF FFFF FFFF 仮数は「22.75=1.421875×2^4」の「1.421875」の部分の小数部を、23ビットの2進数にした物である。 .421875=.01101100000000000000000 上記の「小数点から下の23ビット」を、そのままF部分に挿入する。 0100 0001 1011 0110 0000 0000 0000 0000 これを16進数に置き換える。 0100 0001 1011 0110 0000 0000 0000 0000 ↓ 4 1 B 6 0 0 0 0 答え:41B60000(16)

関連するQ&A

  • IEEE754単精度2進浮動小数点の問題

    10進数47.0のIEEE754単精度2進浮動小数点表現を求めて欲しいです。 答えは16進数でお願いします

  • 浮動小数点の精度と範囲からすると、「0」はどうなるのでしょうか

    IEEE754の単精度による浮動小数点表現(符号部1ビット、指数部8ビット、仮数部23ビット)ですと、その表現できる範囲が数値の絶対値で、2^(-126)=1.2×10^(-38)から(2 - 2^(-23))×2^(127)=3.4×10^(38)になりますが、数値の「0」はどう表現されるのでしょうか。たとえば、C言語などで、変数の値が「0」の場合、コンピュータ内部の2進数表現はどのようになっているのでしょうか。よろしくお願いいたします。

  • IEEE754浮動小数点規格

    14.625をIEEE754浮動小数点規格の単精度(float)の書式(-1)^s ×1.f×2^(e-127)に直す場合、この値をとりあえず2進数に直すのですが、 14.625=+1110.101となると書いてあったのですが、 14を二進数に変換すると1110になることはわかるのですが、625がなぜ、101になるのかわかりません。僕自身、単に625を計算したら、101110001になりました。どう625を2進数に変換したらよいですか。

  • 浮動小数点変換

    (1)次の数値をIEEE754単精度形式で正規化された浮動小数点に変換し、結果を8桁の16進数で表記しなさい。 (a)0.5 0.5を二進数で表すと0.1 0.1*2^0であるから 0 00000000 10000000000000000000000 (b)1.0 1.0を二進数で表すと1.0 0.1*2^1であるから 0 10000000 10000000000000000000000 (c)1.25 1.25を二進数で表すと1.010 0.101*2^1であるから 0 10000000 10100000000000000000000 浮動小数点への変換、あってますでしょうか? また結果を8桁の16進数で表記とありますが 0.5だったら16進数で表すと0.9?これを8桁*16^なんとか乗で表すということでしょうか?

  • 浮動小数点表現

    2^{24}を32bit整数表現及び32bit(単精度)浮動小数点表現で表せ。 結果は16進数で示せ。 符号ビット:MSB 指数部n:7ビット 仮数部:24ビット という問題があるのですが、 解いてみたものの、答えもないのであっているのか分かりません。 以下の答えで合っているでしょうか? また、合っていなかったら、どのように解くのか教えていただけませんか? 整数表現 0100 0000H 浮動小数点 0100 1000 0100 0000 0000 0000 0000 0000

  • 浮動小数点数型

    単精度浮動小数点型と倍精度浮動小数点数型、それぞれ値がとりうる範囲を教えてください。 単精度浮動小数点型 負の値は -3.4028235E+38 ~ -1.401298E-45、 正の値は 1.401298E-45 ~ 3.4028235E+38 の範囲の値 倍精度浮動小数点数型 負の値は -1.79769313486231570E+308 ~ -4.94065645841246544E-324、 正の値は 4.94065645841246544E-324 ~ 1.79769313486231570E+308 の範囲の値 とは記述してあるのですが、実際に小数1桁なら整数部はどのくらいの範囲の値がとれるのか、皆目わかりません。 どうか、わかりやすく教えてください。 よろしくお願い致します。

  • 浮動小数点法での2進数変換

    浮動小数点法を用いての2進数への変換に関して質問です。 10進数の(-0.0001)を浮動小数点表示を用いて2進数に変換しなさいという問題が全くわかりません。 どなたか詳しく解説してください。お願いします。

  • 浮動小数点について

    当方、浮動小数点を勉強しているのですが、 テキストの解説を読んでも理解が出来ません。 正規化とか指数と仮数の意味が分かりません。 そこで質問なのですが、浮動小数点の計算方法を教えて下さい。 IEEE形式の浮動小数点も教えて頂けると助かります。 また、下記の問題について解説して下さい。 数値を16ビットの浮動小数点表示法で表現する。 形式は図に示す通りである。10進数0.375を正規化した表現は、どれか。 ここでの正規化は、仮数部の有効数字よりも上位の0が無くなるように、 指数部を調節する操作である。 (図は添付します) 何故「E」の値が「1111」になるのでしょうか。 お手数ですが、ご教授お願いします。 尚、特に分かり易いホームページがあったら、 そのURLを記載して頂いても結構です。 以上、よろしくお願い致します。

  • 浮動小数点の変換手順

    単精度の浮動小数点の演算で、符号無しの2進数に変換した後、バイアスとして127を加えて嵩上げする理由は何でしょうか?

  • 10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?

    10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 10進数の-7.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 計算方法を教えてください。