これ何て呼びますか

n進数(2進数について
循環少数の2進数から10進数に直したいです。

例えば0.00110011(2).....などです。

わかりやすく丁寧に教えてください。

また

循環少数0.00110011(2)....
を16進数に直す方法も教えてください。
よろしくお願いします。

質問者からの補足コメント

  • もうひとつ質問なんですけど

    循環 2進数の一般的な10進数への直し方も教えてください。
    (0.001001....)2
    小数点以下の001が循環

      補足日時:2018/07/15 09:25

A 回答 (2件)

> 例えば0.00110011(2).....などです。



0.0011 0011 0011(2進数)と、「0011」部分が循環って事で良いのでしょうか?
循環部分をカッコで表記する方式で書くとして、

一般的な解法だと、
x = 0.(0011) (2進数) …(a) とおく。

循環節を1個取り出すために、両辺を10000(2進数)倍して、
10000(2進数) * x = 0011.(0011) (2進数)
16(10進数)*x = 11.(0011) (2進数) …(b)

(b)式-(a)式を計算して、
15x = 11 (2進数) = 3 (10進数)
x = 3/15 = 0.2

だとか。

--
> 循環少数0.00110011(2)....
> を16進数に直す

4桁ずつ循環してくれてるので、
0.【0011】【0011】【0011】【0011】… (2進数)
= 0.3333… (16進数)

ってこの場合なら1発で計算できます。
    • good
    • 0

これからの数字は特別の注意書きがない限り2進数での表示とします。


0.00110011...=0.0011+0.0011/10000+0.0011/(10000)^2+...
と無限等比級数の和として表すことができます。

0.00110011...=Σ[n:1~∞]11*(1/10000)^n=11/10000/(1-1/10000)=11/10000/(1111/10000)=11*10000/(10000*1111)=1/101
と分数で表せます。後はこの分数を10進数に変換してしまえばよいでしょう。

16進数で表すのは整数の2進→16進と同じで小数点以下を4桁ごとに区切り
0. 0011 0011 0011 ...
0011を16進に変換すればよいだけです。
    • good
    • 0

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