重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

200!の桁数を求めよ。という問題で、
10進法で何桁か?は375桁とわかったのですが、
2進法、4進法、8進法、16進法で何桁なのかわかりません。
2進数の桁数の計算方法は
Nlog10=xlog2 (底は10)
で、求められると思うのですが、
約1245.723と出てきてしまい、
1245桁なのか1246桁なのかわかりません。
こういう場合は四捨五入するのですか?切捨てにするのですか?
教えてください。
お願いします。

A 回答 (3件)

>10進法で何桁か?は375桁とわかったのですが


a=200!=n*10^374,1≦n≒7.9<10
log_(10)a=374+d,0≦d≒0.90<1

>約1245.723と出てきてしまい、
>1245桁なのか1246桁なのかわかりません。
「切捨てて1を加える」ので1246桁です。
log_(2)a={log_(10)a}/log_(10)2=(374+d)/0.3010=1245+d1,0≦d1≒0.38<1
2進法で(1245+1)=1246桁

同様にして
log_(4)a=622+d2,0≦d2≒0.69<1
4進法で(622+1)=623桁

log_(8)a=415+d3,0≦d3≒0.13<1
8進法で(415+1)=416桁

log_(16)a=311+d4,0≦d4≒0.35<1
16進法で(311+1)=312桁
    • good
    • 0
この回答へのお礼

小数点以下をどうするのかで迷っていました。
解説ありがとうございます。

お礼日時:2008/04/08 18:53

10進法で


3桁・・100以上1000未満のXは、 10^2<=X<10^3 ですよね。
例えば、500という3桁の数字は10の何乗なのでしょうか。

単に四捨五入とか切り捨てかを暗記するのではなく、意味を考えましょう。
10進法も2進法も16進法もみな同じ考え方ではないでしょうか。
    • good
    • 0

10進数のときと同じように処理してください.

    • good
    • 0

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