浮動小数点って何ですか?

1件の回答

回答を書く

1284225

2026-02-04 10:35

+ フォロー

浮動小数点と言う響きからの想像だけで書いた解説を散見します

少し詳しく説明します、コンピュータはスイッチのオンオフだけで数字を表します

話しを簡単にするために4個のスイッチだけで説明します



まずは整数から

全部スイッチが落ちた状態を0000、全部立った状態を1111で表します

スイッチは一番右から1、2、4、8を表します、つまり

0001は1を表します

0010は2を表します

0100は4を表します

1000は8を表します



1001ならば1+8で9を表します

1111ならば1+2+4+8で15を表します

こうやって0~15までの数字を表すことができます、普通は64桁有るのでかなり大きい数字が表せます



では小数点つきですが、これはメーカによって違いは有りますが、基本は同じです

スイッチは一番左から1/2、1/4、1/8、1/16を表します、つまり

1000は1/2を表します

0100は1/4を表します

0010は1/8を表します

0001は1/16を表します



1001ならば1/2+1/16で9/16=0.5625を表します

1111ならば1/2+1/4+1/8+1/16で15/16=0.9375を表します



こうやって0~0.9375までの数字を表すことができます、普通は 52桁有るのでかなり細かく1.0~0.0に近い数字を表すことができます

これを仮数部と言います



それでは1.0以上はどうやって表すかというと、先ほどの整数の値をペアで使いますこれを指数部といいます、普通なら指数部は11桁です



指数部の値が1ならば仮数部を2倍します

指数部の値が2ならば仮数部を4倍します

指数部の値が4ならば仮数部を8倍します



指数部の値が0001つまり1で、仮数部が1001つまり9/16ならば、2×9/16=18/16=1.125を表します



つまり仮数部の値の小数点を指数部の値に基づいてずらします、この方式で表した数字を浮動小数点といいます



0.5625の小数点をずらして1.125と不思議に思うでしょうが、2進数で表すと意味が解ります

ーーー

浮動小数点の場合どうしても誤差がでますが、桁数を増やすことで誤差を実用上は問題が出ないレベルまで抑える事ができます

例えば100億円の利子が0.000001円違っても誰も文句は言いません

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有