痔になりやすい生活習慣とは?

浮動小数の計算でバイアス表現ってのがありますが、これってなんなんですか?
いろんなサイトを見て回ったのですが理解できませんでした。
負の表現をなくすらしいですが、バイアスは一体なんのために必要なんですか?
もしバイアス表現なしだと仮定した場合どうなるんでしょうか?

指数に確か127を足すらしいですが、それってなぜ127なんですか?

分かりやすい回答お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

バイアス127なら、指数部は -127~128 では?

    • good
    • 3

#1です。



「ピンときません」
ということですが、そういうことを言っているのではなくて、そうなっていると言っているのであって、そうかと思っていただくしかないのですよ。

「-0.1とか、0.00001234とかを表すことができないとありますが、っていうことは仮数部には小数はいれちゃいけないんですか?」

小数は入りますが、「1」より大きい小数になります。
「1+a*2^(-1)+b*2^(-2)+・・・(a,bは0か1)」の形だから、どうしても「1」よりは大きいでしょう。

実際に仮数部で表現されるのは、a,b,・・・ですが、「1」を足すので必ず「1」より大きくなる。「1」は仮数部にはないが、必ず「1」があるとして計算するので、「1」より小さい数は仮数部では表現されない。「1」より小さい小数は、10進数で表せば、
0.00001234=1.234*10^(-5)
の形の表現になるのです。

浮動小数点は2進数なので、0.00001234の仮数部は、
1001111 00000111 11100101
になっていて、10進数で表せば、
1*2^(-1)+0*0^(-2)+0*2^(-3)+1*2^(-4)+1*2^(-5)+・・・=0.6174284221
ですが、「1」を加えるので、1.6174284221になります。

指数部は、
1101110
になっていますが、これは10進で110です。
バイアス127をひくので、110-127=-17

それで、

1.617428422*2^(-17)=1.234*10^(-05)

になります。

「指数部の最小が1ということは実際にはn=0を抜いた値
-126~255までの数が一般に使える指数部の数でしょうか?」

そうです。

0もありますが、それは特別な扱いなので、
指数の計算で使えるのは、-126~255です。

「仮数部の最小が1+2^(-23)」

仮数部の0も特別な扱いなので、仮数部を「1+0」にする指数計算はできません。仮数部は単精度なら、23ビットなので、その最小ビットが1で最小で、2^(-23)です。

ちょっとややこしいですが、要するに、
1.###・・・×2^n
の形で数を表現しているということです。

ピンとくる来ないじゃなくて考えましょう。
    • good
    • 0

科学的記数法をデジタル化したものが


不動小数点形式だが、これを実現するために、
負の指数を表す方法が必要になる。

計算機上で負数を表現する方法には、
符号ビット付き数、2の補数、バイアス付き数
などいろいろあり、それぞれに特徴がある。

2の補数は、加減算が簡単なので、
整数を実装する際に好まれる。

バイアス付き数は、大小比較が
同じビットパターンの符号なし数と同じなので、
上位ビットを仮数、下位ビットを指数にして、
指数をバイアス付き数で表しておけば、
不動小数点形式の大小比較が、整数の比較と
同じ計算になる…という利点がある。

(数学カテでは、カテ違いの質問かと思う。)
    • good
    • 0

#1です、



ミスプリがありますので訂正してください。

(1+2^(-23))*2^(-127)=1.17549*10^(-38)

(1+2^(-23))*2^(-126)=1.17549*10^(-38)
    • good
    • 0

IEEE 754 形式の単精度実数の浮動小数点数の表現では、


符号部 1 ビット ・ 指数部 8 ビット ・ 仮数部 23 ビット
を使います。
ここで、指数部は127のバイアスをかけて表現します。

指数部は、2^nのnを表すビット列で、符号なし整数で表します。もし、バイアスがなければ、n=0~255まで表現できることになります。
仮数部は、1+a*2^(-1)+b*2^(-2)+・・・(a,bは0か1)で表すようになっているので、仮数部の最小の数は1です。これに指数部をかけて数を表すのだから、バイアスのない場合に表わせる数の最小(絶対値)は、1*2^0=1でこれより小さい数は表せません。
要するに、-0.1とか、0.00001234とかを表すことができないということです。

バイアスをかけて、
n=(指数部の表示)-127
と、しておけば、n=-127~128まで表現でるはずですが、IEEEでは、指数部や仮数部が0の場合は特別な意味があるので、指数部の最小1と仮数部の最小1+2^(-23)で、
表せる最小(絶対値)の数、(1+2^(-23))*2^(-127)=1.17549*10^(-38)
まで表せることになります。なお、0は指数部、仮数部ともに0で表します。

なお、ここでいう最小(絶対値)の数というのは、負の最小数ではないことを注意しておきます。

この回答への補足

理解力なくてすいません。
いまいちピンときません。

-0.1とか、0.00001234とかを表すことができないとありますが、っていうことは仮数部には小数はいれちゃいけないんですか?
n=(指数部の表示)-127でn=-127~255まで表現できるということは、
指数部の表示に0を代入してn=-127
指数部の表示に255を代入してn=128
ってことでn=-127~255までってことですか?

指数部の最小が1ということは実際にはn=0を抜いた値
-126~255までの数が一般に使える指数部の数でしょうか?

それから仮数部の最小が1+2^(-23)となるのはなぜですか?

ピンときません。

理解力なくてすいませんが、もしよければ再度教えてください。

補足日時:2011/06/26 13:30
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

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

Aベストアンサー

14.5を符号と指数と仮数に分けます。
符号は正の数なので符号は0
次に14.5を符号無し2進数に変換すると
1110.1
小数点を左に移動させて1だけ残すと
1110.1=1.1101*2^3
仮数は23ビットで小数点より右側だけなので、足りない分を0でうめて
11010000000000000000000
指数の3を127でバイアスするので
3+127=130
これを2進数に直すと
10000010
全て合わせると、
01000001011010000000000000000000
で、32ビットの2進数に変換できました。
同じように、-7.5を変換すると、
符号は負の数なので1
-7.5を符号無し2進数に変換すると、
 111.1
=1.111*2^2
なので、仮数は
11100000000000000000000
指数の2を127でバイアスすると
2+127=129
これを2進数に直すと
10000001
全て合わせると
11000000111100000000000000000000
になります。
64ビットの場合は、指数のバイアスを127から1023にし、仮数の23ビットを52ビットまで増やせばOKです。

14.5を符号と指数と仮数に分けます。
符号は正の数なので符号は0
次に14.5を符号無し2進数に変換すると
1110.1
小数点を左に移動させて1だけ残すと
1110.1=1.1101*2^3
仮数は23ビットで小数点より右側だけなので、足りない分を0でうめて
11010000000000000000000
指数の3を127でバイアスするので
3+127=130
これを2進数に直すと
10000010
全て合わせると、
01000001011010000000000000000000
で、32ビットの2進数に変換できました。
同じように、-7.5を変換すると、
符号は負の数なので1
-7.5を...続きを読む

Q2進数の計算について

2進数の計算について分からない問題があるのでお願いします。



(1) 2進5ビットの数値で,01001をバイアス表示とみるとき,10進数ではいくつか


(2) 10進数の4を2進5ビットで表す.バイアス表示を用いると,どのように表されるか.

できるだけ詳しい回答くれるとありがたいです。

Aベストアンサー

バイアスは別に正負半分になるようにする必要はなく、例えば、負は-1だけ使いたいなら「バイアス1」でもいいわけです。また、符号無し整数は「バイアス0」とも考えられます。

最上位ビット=1でバイアスすると、いろいろと便利ではありますが、「単にバイアス表記といったらこれを意味する」なんて規則は聞いた覚えがありません。

その問題も、もっと大きな問題の一部で、バイアスについて明示的、あるいは暗黙で指定があるのではないでしょうか?
例えば、「仮数部5bit(16でバイアス)の浮動小数点数について」という問題の一部で、「仮数について」という問題だとか。

Q浮動小数点

浮動小数点について勉強していますが、本を見てもよくわかりません。

「イクセス表記とは、本来8ビットで表現できる値は0~255であるのに対し、元の値に127を加算することにより、-127~128までの表現を可能としています。つまり、Eが0の場合は-127を、Eが127の場合は0を、Eがすべて1の場合は128を示しています。」(日経BP社)

とありましたが、
●127を加算したら、なぜ-127~128か?このマイナスはどうしてでてくるのか?

何か、例をあげて教えてもらえればうれしいです。
よろしくお願いします。

Aベストアンサー

>本来8ビットで表現できる値は0~255
------------------------
11111111 = +255
11111110 = +254
……
10000001 = +129
10000000 = +128
01111111 = +127
01111110 = +126
……
00000001 = +1
00000000 = 0
------------------------

>イクセス表現とは、元の値に127(01111111)を加算
------------------------
11111111 = +128 >Eがすべて1の場合は128を
11111110 = +127
……
10000001 = +2
10000000 = +1
01111111 = 0 >つまりEが127の場合は0を
01111110 = -1
……
00000001 = -126
00000000 = -127 >Eが0の場合は-127を、
------------------------

ということで,8ビット=256通りのパターンに
どの数値に対応づけているかが違うわけです。

符号なし固定小数点数では,
(11111111)~(00000000)に +255~0を対応。

イクセス127のゲタばき表現では,
(11111111)~(00000000)に +128~-127を対応。※

ちなみに,符号あり2の補数表現では,
(01111111)~(00000000)に +127~0,
(11111111)~(10000000)に -1~-128となります。

(※ celtisさんご紹介のURLに詳細がありますが,
IEEE 754 では指数部がオール1・オール0
の数を,特殊な数に対応づけています。)


>ビット反転+1よりも、127加算するほうが単純
------------------------
仮数に登場する負の数の表現には「2の補数」を使う意味があるけれど,
指数に登場する負の数には補数を使う意味がないということですよね。

指数の大きさを合わせた後の仮数同士の計算は,
(+5)+(-3)=(+2)
でよいから,「補数の加算,で減算を実現」できる2の補数の意味がある。

でも,(aの5乗)+(aの-3乗)のような異なる指数の計算では,
指数をそのまま加減算してもダメですからね。
------------------------

>本来8ビットで表現できる値は0~255
------------------------
11111111 = +255
11111110 = +254
……
10000001 = +129
10000000 = +128
01111111 = +127
01111110 = +126
……
00000001 = +1
00000000 = 0
------------------------

>イクセス表現とは、元の値に127(01111111)を加算
------------------------
11111111 = +128 >Eがすべて1の場合は128を
11111110 = +127
……
10000001 = +2
10000000 = +1
01111111 = 0 >つまりEが127の場合は0を
...続きを読む

Q浮動小数点の正規化方法について

基本情報処理技術者試験を20日に受けます。勉強不足で困っています。どなたか教えてください。
問題「数値を16ビットの浮動小数点表示法で表現する。10進数0.375を正規化せよ:ここでの正規化は仮数部の有効数字よりも上位の0がなくなるように指数部を調節する操作である。」 
答え「0111111000000000」 最初の1ビットが仮数部の符号、次の4ビットが2のべき乗の指数部で負数は2の補数、残りの11ビットが仮数部の絶対値
となっています。
0.375を2進数に直すところまではわかったのですが、次の正規化がよくわかりません。よろしくお願いいたします。

Aベストアンサー

10進数の0.375は、2進数は0.011です。
使用できるビット数が指数部、仮数部ともに限りがありますので、0.011をそのまま表記すると、仮数部が011となります。この先頭の"0"は別になくてもいいですよね?その分を指数部であらわせば、仮数部の桁を一桁稼ぐことができます。つまり、より正確な値を保持できることになります。これが正規化する意義です。

仮数部を(2倍)したわけですから、指数部は(1/2倍)します。よって指数部は(-1)です。負数ですから2の補数で表示すると1111(4ビット)になります。

浮動小数点表示は、正規化が絡んできますので、場合によっては情報落ちや桁落ちなどが発生します。このあたりを、再確認して試験に臨んでください。

Q2進数の割り算が分かりません・・・。

2進数の割り算が分かりません・・・。
授業でいきなり出てきて大変に戸惑っています。
10010➗11(2進数)
の解き方を教えてください。
よろしくお願いします・・・!

Aベストアンサー

2進数の場合の割り算は引く事が出来るか?をフラグを立てていく感じになります。

Q浮動小数点の正規化の必要性について

 浮動小数点の正規化の必要性について教えてください。

 浮動小数点で数を表す際に、正規化は必ずしも必要なもの(行わなければならないもの)なのでしょうか?
 
 また浮動小数点の正規化のルールとして、
 2進数か16進数に変換したとき
 「指数部を調整して、仮数部の最上位けたを“0以外にする”」というルールがあるようなのですが、何故「指数部を調整して、仮数部の最上位けたを“0以外にする”」という処理が必要となるのでしょうか?

Aベストアンサー

回答ANo.1への補足,に対して。

浮動小数点数における正規化の必要性を説明するのに2進数を持ち出す必要はありません。10進数のままでも説明できます。

一例としてANo.2で挙げられた仮数部長で説明すると,2進数で23bitということは,10進数の桁に換算するとlog10(2^23)=約7桁となります。

もし仮に,仮数部・指数部ともに10進数で記録する浮動小数点数があると仮定し,さらにその仮数部長が7桁だと仮定するならば。

>[10進数]
>0.0000000000123456789012345678901234567890

という数は,7桁の仮数部長では正確に表現できませんから,丸め誤差が生じます。
同じ数値であっても,仮数と指数を組み合わせれば無限のパターンの表現ができます。今回の場合は,次の7つのパターンのうちのいずれかの表現形式を積極的に採用することになるでしょう。

(0.1234567)×10の-10乗
(0.0123456)×10の-9乗
(0.0012345)×10の-8乗
(0.0001234)×10の-7乗
(0.0000123)×10の-6乗
(0.0000012)×10の-5乗
(0.0000001)×10の-4乗

上記はすべて同じ数値なのですが,では「限られたビット数の中に少しでも多くの情報を詰め込」んでいるのはどれでしょう? 仮数部の長さ(=有効桁数)をムダにしないで,同じ数値であってもより精度の高い数として表現できているのはどのパターンでしょう?

その答えは「指数部を調整して、仮数部の最上位けたを“0以外にする”」というルールにのっとった,(0.1234567)×10の-10乗 であるのは明らかではないですか。

追伸.
ANo.2では IEEE754の「隠れ"1"表現」にまで触れているのですが,今回の問いに回答するだけならばそれは不要だと判断しましたので,省いてあります。

回答ANo.1への補足,に対して。

浮動小数点数における正規化の必要性を説明するのに2進数を持ち出す必要はありません。10進数のままでも説明できます。

一例としてANo.2で挙げられた仮数部長で説明すると,2進数で23bitということは,10進数の桁に換算するとlog10(2^23)=約7桁となります。

もし仮に,仮数部・指数部ともに10進数で記録する浮動小数点数があると仮定し,さらにその仮数部長が7桁だと仮定するならば。

>[10進数]
>0.0000000000123456789012345678901234567890

という数は,7...続きを読む

Qinterface,extend,implementのちがい

お世話になります、

Javaを勉強しているのですが、
interface,extend,implementの使い分けがわかりません。

私の解釈としては、
(1)interfaceは、グローバル変数の定義、グローバルメソッドの定義(実装はしない)。

(2)extendは、extendクラスを親クラスとして親クラスの機能を使用できる。

(3)implementは…,implementもextendと同じような意味だと解釈しているんですが、違う点は、implementで定義してあるメソッドは、使用しなくても、実装しなければならないという点でしょうか?

とにかくこの3つのを使い分けるコツとかあれば教えてください。
よろしくお願いします。

Aベストアンサー

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば、getStringLength()メソッドなどが
あったほうが良いでしょうか。
このgetStringLength()メソッドは、2バイト文字も1バイト文字も「1文字」
と数えてくれると言う点で、まさに、日本語クラス用のメソッドだと言えるでしょう。

例えば、Java的に記述すると、、、
class Japanese {
public int getStringLength() {
  ・・・
return strlength;
 }
 ・・・
}

class TextField {
・・・
}

class JTextField extends TextField, extends Japanese {
・・・・
}

C++ではそのように実装するでしょう。
しかし、Javaにはこのような高度な機能はありません。

そこで、生まれた苦肉の策が、「interfaceとimplements」です。

interface Japanese {
public int getStringLength(); // interfaceは実装を含まない!
                 // すなわち「実装の継承」ができるわけではない。
}

class TextField {
・・・
}

class JTextField extends TextField implements Japanese {
・・・・
public int getStringLength() {
  ・・・
return strlength; //implementsの実装を「各クラスで」実装してやる必要がある。
 }
}


結局のところ、Javaでは、複数のクラスを親クラスには持ち得ないため、継承できなかったクラスは「各クラスで実装してやる必要性」があるのです。


ではどのように使うのが効果的か?

なまえのままです。「代表的なインターフェイス」にたいしてinterfaceを使うのが良いと思います。

例えば、プレイヤー系であれば、ビデオ・コンポ・ウォークマン・などにかかわらず、
interface controlpanel {
public play();
public stop();
public next();
public back();
}
というような基本的インターフェイスを「持っているべき」です。

こうすることで、それぞれのクラス宣言の際に、これらの「インターフェイスを持っているべきであり、実装されるべきである」ということを「強く暗示」することができます。
class videoplayer extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

こうすることで、同様のクラスを作成するユーザーは、
「プレイヤー系は、4つ操作が出来るコントロールパネルをインターフェイスとして持つべきなのだな!?」という暗示を受け取り、自分のクラスでもそれを模倣するでしょう。

class mp3player extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

また、これらのクラスを使用するユーザーも、「implements controlpanel」という
表記を見て、「4つの基本操作は押さえられているのだな!」という基本中の基本動作を抑えることが出来ます。

まとめると、クラスに「こういう特徴もたしてください!」「こういう特徴持ってますよ!」という一種の暗示的警告や方向性を与えることができるわけですね。

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば...続きを読む

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

Qe^-2xの積分

e^-2xの積分はどうしたらよいのでしょうか…。e^xやe^2xsinxなどはのってるのですがこれが見つかりません。お願いします。

Aベストアンサー

いささか、思い違いのようです。

e^-2x は、 t=-2x と置いて置換してもよいけれど、牛刀の感がします。

e^-2x を微分すると、(-2)*( e^-2x )となるので、

e^-2x の積分は、(-1/2)*( e^-2x )と判明します。

Q16ビット浮動小数点数の表現方法について

学校の課題において、ある数を2進数で表現し、さらにその数を16ビット浮動小数点数で表しなさい。またそのとき生じる誤差の名称を記しなさい、という課題がでており取り組んでいるのですが、ネットで調べていても計算方法が理解できず行き詰っております。どなたか計算方法の手助けをお願いできないでしょうか。

与えられた条件
符号ビット:1ビット(0:正、1:負)
指数部:4ビット
仮数部:11ビット

16ビット浮動小数点数で表す数
10011100011000011

です。計算方法を理解したいので、なるべく詳しくお願いいたします。
誤差の名称もできればご教授願います。

Aベストアンサー

> 16ビット浮動小数点数で表す数
> 10011100011000011
この17bitの「整数」を、その条件で浮動小数点に変換する、ってことですか?

この質問には、指数部と仮数部の条件に不明なところがあって、このままでは浮動小数点表現にすることができません

・指数の範囲
指数には正も負もあります。通常は、範囲が正負等しくなるようになっています。
4ビットだと -7(または-8)~+7となるのですが、質問中にこれについての条件がありません。
あるいは、非負のみで0~15なのでしょうか?

・仮数の正規化
一般で使われている浮動小数点では、仮数部の桁をそろえるために、指数を調節する「正規化」が行われます。
例えば、 一番上の位の1が整数の1の位、それ以下は小数の位になるようにする
10.1(2) * 2^2 →仮数を1/2→指数は2倍→ 1.01(2) * 2^3

この条件についても記述がありません。
もし、例示した正規化をするなら、 1.xxx * 2^16 になって、4桁の指数では表現できません。
あるいは、仮数部は11bitの整数、ということなのでしょうか?

また、このような正規化をした時、最上位ビットを仮数部では省略する、という方法もあります。
質問の場合では、最上位の11bit目の上に常に1の12bit目があると考えて、計算する、というものです。
これについても、この手法を採用するかどうかの記述がありません

> 16ビット浮動小数点数で表す数
> 10011100011000011
この17bitの「整数」を、その条件で浮動小数点に変換する、ってことですか?

この質問には、指数部と仮数部の条件に不明なところがあって、このままでは浮動小数点表現にすることができません

・指数の範囲
指数には正も負もあります。通常は、範囲が正負等しくなるようになっています。
4ビットだと -7(または-8)~+7となるのですが、質問中にこれについての条件がありません。
あるいは、非負のみで0~15なのでしょうか?

・仮数の正規化
一般で使われて...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング