・2進法                               KS 氏

 小数の2進数表示の良い方法を、ご教示ください。

 例えば、1/100や=1.4142など。


 らすかるさんからのコメントです。(平成28年11月10日付け)

 「良い方法」かどうかはわかりませんが、次はどうでしょう?

 1/100=a1/2+a2/22+a3/23+a4/24+a5/25+a6/26+a7/27+a8/28+a9/29+a10/210+・・・ は、

2倍して、1/50<1 → a1=0
2倍して、1/25<1 → a2=0
2倍して、2/25<1 → a3=0
2倍して、4/25<1 → a4=0
2倍して、8/25<1 → a5=0
2倍して、16/25<1 → a6=0
2倍して、32/25≧1 → a7=1 → 1引いて、7/25
2倍して、14/25<1 → a8=0
2倍して、28/25≧1 → a9=1 → 1引いて、3/25
2倍して、6/25<1 → a10=0
2倍して、12/25<1 → a11=0
2倍して、24/25<1 → a12=0
2倍して、48/25≧1 → a13=1 → 1引いて、23/25
2倍して、46/25≧1 → a14=1 → 1引いて、21/25
2倍して、42/25≧1 → a15=1 → 1引いて、17/25
2倍して、34/25≧1 → a16=1 → 1引いて、9/25
2倍して、18/25<1 → a17=0
2倍して、36/25≧1 → a18=1 → 1引いて、11/25
2倍して、22/25<1 → a19=0
2倍して、44/25≧1 → a20=1 → 1引いて、19/25
2倍して、38/25≧1 → a21=1 → 1引いて、13/25
2倍して、26/25≧1 → a22=1 → 1引いて、1/25 (1/25は既出)

1/100(10)=0.00[00001010001111010111](2) ([ ]内が循環節)

 =1+a1/2+a2/22+a3/23+a4/24+a5/25+a6/26+a7/27+a8/28+a9/29+a10/210+・・・

は、最初に1を引いて、

 -1=a1/2+a2/22+a3/23+a4/24+a5/25+a6/26+a7/27+a8/28+a9/29+a10/210+・・・

2倍して、√8-2<1(∵8<3^2) → a1=0
2倍して、√32-4≧1(∵32≧5^2) → a2=1 → 1引いて、√32-5
2倍して、√128-10≧1(∵128≧11^2) → a3=1 → 1引いて、√128-11
2倍して、√512-22<1(∵512<23^2) → a4=0
2倍して、√2048-44≧1(∵2048≧45^2) → a5=1 → 1引いて、√2048-45

 以下同様に続けて、 (10)=1.01101010000010011110…(2)



                         投稿一覧に戻る