締切済み 浮動小数点表現の指数部は十進法からどうやってだすの?の 2008/01/11 15:30 浮動小数点表現の指数部は十進法からどうやってだすの?の みんなの回答 (1) 専門家の回答 みんなの回答 ASIMOV ベストアンサー率41% (982/2351) 2008/01/11 16:15 回答No.1 LOG(十進数) という事でしょうか? 質問者 補足 2008/01/14 22:28 そうです。説明不足で申し訳ないです 通報する ありがとう 0 カテゴリ インターネット・Webサービスその他(インターネット・Webサービス) 関連するQ&A 浮動小数点表現の指数部は十進数からどうやってだすの? 浮動小数点表現の指数部は十進数からどうやってだすの? 浮動小数点表現 2^{24}を32bit整数表現及び32bit(単精度)浮動小数点表現で表せ。 結果は16進数で示せ。 符号ビット:MSB 指数部n:7ビット 仮数部:24ビット という問題があるのですが、 解いてみたものの、答えもないのであっているのか分かりません。 以下の答えで合っているでしょうか? また、合っていなかったら、どのように解くのか教えていただけませんか? 整数表現 0100 0000H 浮動小数点 0100 1000 0100 0000 0000 0000 0000 0000 浮動小数点について 当方、浮動小数点を勉強しているのですが、 テキストの解説を読んでも理解が出来ません。 正規化とか指数と仮数の意味が分かりません。 そこで質問なのですが、浮動小数点の計算方法を教えて下さい。 IEEE形式の浮動小数点も教えて頂けると助かります。 また、下記の問題について解説して下さい。 数値を16ビットの浮動小数点表示法で表現する。 形式は図に示す通りである。10進数0.375を正規化した表現は、どれか。 ここでの正規化は、仮数部の有効数字よりも上位の0が無くなるように、 指数部を調節する操作である。 (図は添付します) 何故「E」の値が「1111」になるのでしょうか。 お手数ですが、ご教授お願いします。 尚、特に分かり易いホームページがあったら、 そのURLを記載して頂いても結構です。 以上、よろしくお願い致します。 ネットオークションのやり方教えて?:初心者から上級者へ、信頼と高値売却の秘訣 OKWAVE コラム IEEEの浮動小数点表現 IEEE倍精度の浮動小数点表現の絶対値の最小値と最大値を十進の概数でださなくてはならないのですが、どうすればよいのですか?教えてください。 浮動小数点形式の問題 数値を32ビット浮動小数点形式で表す。指数部は2を基数とし、負数は2の補数で表現する。10進数0.375をこの2を基数とした浮動小数点形式で正規化したものはどれか。ただし結果は16進数で表現する。 答え:7FC00000 という問題です。 まず0.375を2進数に 0.011 正規化 0.11 * 2^-1 指数部-1を2進数で求める -0000 0001 ->1111 1111 仮数部符号は正の数なので0 0111 1111 ???? ???? ???? ???? ???? ???? と・・・ ここの部分からわかりません・・・ (なぜか手持ちの参考書には省略してあり・・・) 7Fの部分はこれで間違いないでしょうか? またそのあとのC00000 はどうやって導くのか教えてください。 お願いいたします 浮動小数点の正規化の必要性について 浮動小数点の正規化の必要性について教えてください。 浮動小数点で数を表す際に、正規化は必ずしも必要なもの(行わなければならないもの)なのでしょうか? また浮動小数点の正規化のルールとして、 2進数か16進数に変換したとき 「指数部を調整して、仮数部の最上位けたを“0以外にする”」というルールがあるようなのですが、何故「指数部を調整して、仮数部の最上位けたを“0以外にする”」という処理が必要となるのでしょうか? 浮動小数点数の表現について 浮動小数点数の表現で、このIEEEともう一つの方式の違いは何でしょうか? 参考書にこう載っていましたが、よく理解できませんでした。 違いを教えてください。 10進数の28をIEEE仕様の浮動小数点数で表示します。 仮数部を2進数に (28)10 → (11100)2 仮数部の正規化 (11100)2 ×2 0 →(1.1100)2 ×2 4 指数部をイクセス表記に2 4 → 2 131 10進数の28をもう一つの仕様の浮動小数点数で表示します。 仮数部を16進数に (28)10 → (1C)16 仮数部の正規化 (1C)16×16 0 → (0.1C)16 ×16 2 32ビットの浮動小数点について 32ビットの浮動小数点(符号1ビット指数8ビット仮数23ビット)で非正規表現をもとめるには例えば(符号0指数0仮数1.01101)はどういう計算をすれば良いのでしょうか? 浮動小数点数 再質問で畏れ入ります。 数値を32ビット浮動小数点形式で表す。指数部は2を基数とし、負数は2の補数で表現する。10進数0.375をこの2を基数とした浮動小数点形式で正規化したものはどれか。ただし結果は16進数で表現する。 答え:7FC00000 という問題です。 まず0.375を2進数に 0.011 正規化 0.11 * 2^-1 指数部-1を2進数で求める -0000 0001 ->1111 1111 仮数部符号は正の数なので0 0111 1111 ???? ???? ???? ???? ???? ???? と・・・ ここの部分からわかりません・・・ (なぜか手持ちの参考書には省略してあり・・・) 7Fの部分はこれで間違いないでしょうか? またそのあとのC00000 はどうやって導くのか教えてください。 お願いいたします 浮動小数点について 独学でプログラミングの勉強をしています。Wiki等で調べたりしましたが、 下記テキストの質問の計算が全く分かりません。 分かりやすく説明して頂けるとありがたいです。 宜しくお願い致します。 質問: 二つの浮動小数点の数字があり、SEEMMMM(S=符号付数値、E=指数、M=仮数)の形式で表示されています。 指数はエクセス数50、仮数は符号付数値、小数点は右の仮数に表示されます。 0 53 1110 0 50 3020 二つの数字を加算し、正しく表示された浮動小数点形式と実数をすべての計算式も含め表しなさい。 浮動小数点の精度と範囲からすると、「0」はどうなるのでしょうか IEEE754の単精度による浮動小数点表現(符号部1ビット、指数部8ビット、仮数部23ビット)ですと、その表現できる範囲が数値の絶対値で、2^(-126)=1.2×10^(-38)から(2 - 2^(-23))×2^(127)=3.4×10^(38)になりますが、数値の「0」はどう表現されるのでしょうか。たとえば、C言語などで、変数の値が「0」の場合、コンピュータ内部の2進数表現はどのようになっているのでしょうか。よろしくお願いいたします。 浮動小数点の問題です。 10進数+0.375を浮動小数点で記憶させ、その記憶領域のダンプリストを読み取ると、 0.375は16進数で(1)に、 -1は16進数で(2)となる。 答えは(1)は7F00、(2)8600です。 この2つの問題の途中式と解説をお願いします。 バイト型:バイト数は1バイト,負の補数は2の補数で表す 整数型:バイト数は2バイト,負の補数は2の補数で表す 浮動小数点:バイト数は2バイト,符号1ビット,指数部5ビット,仮数部10ビット ビット番号0:符号部.仮数部の符号が入っている.0なら正,1なら負 ビット番号1-5:指数部.負の値を2の補数で表す ビット番号6-15:仮数部.ビット番号6を小数点第1位とする仮数部の小数点以下の絶対値が、正規化された2進数で入っている 正規化とは,仮数部が2進数で0.1以上1.0未満になるよう指数部を増減する操作である SNSで身バレの危険性?オンラインでの注意点とは OKWAVE コラム IEEE754 浮動小数点について IEEE754 浮動小数点で (-1)~s×1.M ×2(E-127) とありますが、2の指数部のE-127の理由がわかりません。 なぜ、127を引く必要があるのでしょうか? また、仮数部の1.Mとする理由と併せて教えていただけると助かります。 ※べき乗部の指数などの表記がうまく入力できない為、見づらくて申し訳ありません。 アドバイスよろしくお願いいたします。 また、参考サイトなどあれば、リンクお願いします。 浮動小数点表示の問題です教えてください。 浮動小数点表示の問題です教えてください。 ・浮動小数点表示は10進数でいくつを表しているか? 符 指数 仮数 0 000 00 0 000 01 0 000 10 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1 111 01 1 111 10 1 111 11 ±□×2^□ の形で表として示せ。 という問題です。 回答お願いします。 基本情報の浮動小数点について 基本情報技術者試験の勉強をしているのですが、浮動小数点の問題がどうしても解けません。問題を読んでもいまひとつ理解できず、四苦八苦しています。 下記の問題なのですが、教えていただけますでしょうか。 (平成12年に出題された問題(十進数0.375を正規化)は、理解できました) 問題集には解き方が載っているのですが、それが理解できません。解き方は以下です。 26.5を長さ32ビットの浮動小数点で表す (1) 26.5を16進数に変換 26.5の2進数:11010.1 11010.1の16進数:0001 1010 . 1000 1 A . 8 (2) 小数点位置の移動 小数点を左に2けた移動:1A.8 → (0.1A8) × 16の2乗 #ここまでは理解できます (3) 指数部の値16の2乗 → 16の0乗を(1000000)2進数=64とする #ここがまるで分かりません 16の2乗の2を64に加える 1000000 … 64の2進数 + 10 … 2の2進数 ───── 1000010 … 指数の値とする #「16の0乗を1000000=64とする」の部分が分かりません (4) まとめ 符号 指数部 仮数部 0│1000010│0001│1010│1000│00…0 16の2乗 1 A 8 #符号と仮数部は理解できるのですが、指数部が分かりません よろしくお願いいたします。 浮動小数点は 0 含まれますか 0 は整数 integer ですが、 浮動小数点でもありますか? 0.00000 は浮動小数点ですか? 浮動小数点表示の情報落ちについて 浮動小数点表示の仮数部が23ビットである コンピュータで計算した場合、情報落ちが発生する 計算式は、どれか。ここで、()2内の数は2進法で表示されている。 正解 「(1.01)2×2^18+(1.01)2×2^-5」 指数部の差が大きい方が情報落ちするのは分かるのですが、 仮数部の23ビットで表現した場合、なぜ指数部を18に揃えるのですか。 計算をし易くする為ですか。理由を教えて下さい。 1.0100000000000000000000 ×2^18 +0.0000000000000000000000101 ×2^18 ← (1.01)2×2^-5 =1.0100000000000000000000 ×2^18 101が情報落ちしている。 あと、「(1.01)2×2^-5」が 「0.0000000000000000000000101」になる意味も分かりません。 出来ましたら、こちらも理由を教えて下さい。 ご丁寧に解説して頂ける方おられましたら、ご教授お願いします。 以上、よろしくお願い致します。 浮動小数点について 32ビットの浮動小数点(符号1ビット指数8ビット仮数23ビット)で最小値を求めるにはどういう計算をすればいいのでしょうか?また調べた数値だと最小値 1.175494351E-38 最大値3.402823466E+38のところ±3.40282347E+38 ~ ±1.40239846E-45のところがあるのですがどちらが正しいのでしょうか? 浮動小数点数の内部表現について教えてください float型の内部表現を表示するプログラムを書いていくつか試してみたのですが、どこからどこまでが仮数部でどこからどこまでが指数部なのか良くわかりません。 曲がりなりにも自分で考えた結果は次のとおりです。 10進表示: 内部表現 ;2進の指数表現 2 :01000000000000000000000000000000;10.0*10^0 4 :01000000100000000000000000000000;10.0*10^1 8 :01000001000000000000000000000000;10.0*10^10 16:01000001100000000000000000000000;10.0*10^11 32:01000010000000000000000000000000;10.0*10^100 また、 1 :00111111100000000000000000000000;0.1111111*10^0 0.5 :00111111000000000000000000000000;0.0111111*10^0 0.25:00111110100000000000000000000000;? 0.125:00111110000000000000000000000000;? 0.0625:00111101100000000000000000000000;? となりました。最上位ビットが符号だということは分かります。 質問をまとめると、 (1) 10進で 0.5 の2進指数表現は 0.0111111*10^0 ということなのでしょうか。もしそれで正解なら、どうして 0.1*10^0 としないでわざわざ丸め誤差を含む無限小数で表すのでしょうか。 (2) 仮数部と指数部のビットは決められていなくて、例えば状況によって仮数部のビットが少なくなり指数部のビットが多くなったりするのでしょうか。 (3)仮数部での小数点はどこにあるのでしょうか。 (4)float 型の小数精度は最小6桁ということですが、これは10進で6桁なのか2進で6桁なのか教えてください。 どれか一つでも教えていただけると助かります。 使ったコンパイラは Borland C++ Compiler 5.5 です。 } 浮動小数点法での2進数変換 浮動小数点法を用いての2進数への変換に関して質問です。 10進数の(-0.0001)を浮動小数点表示を用いて2進数に変換しなさいという問題が全くわかりません。 どなたか詳しく解説してください。お願いします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 今も頑なにEメールだけを使ってる人の理由 日本が世界に誇れるものは富士山だけ? 自分がゴミすぎる時の対処法 妻の浮気に対して アプローチしすぎ? 大事な物を忘れてしまう 円満に退職したい。強行突破しかないでしょうか? タイヤ交換 猛威を振るうインフルエンザ カテゴリ インターネット・Webサービス ブラウザ ネットショッピング・通販 SNS・掲示板・ブログ Webサービス・アプリ メールサービス・ソフト ポイントサービス セキュリティ対策・ネットトラブル インターネット接続・通信 その他(インターネット・Webサービス) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
補足
そうです。説明不足で申し訳ないです