入力された値の商が0.000001以下になるまで割り算


javaScript勉強中です。超初心者です。よろしくお願いいたします。

もし入力された数字が2から10の間の時、その入力された数字の商が0.000001以下になるまで2で割り続け、小数第6位以下(0.000001)に到達するまで何回割ったかというコードを書いています。例えば7/2を小数第6位まで割り切るのに23回割り算しました。という結果が欲しいです。

以下が自分のコードです。  
このコードが間違っているのはわかっています。まだ途中です。わからないところは：

  1. while文での初期値: 2と10の間のどれかの数字から始まる
  2. 条件は0,000001以下なのか、以上なのか
  3. 入力された数字を2で割った答えが次の分母になるわけですが、そうなるとInputNum++ではない？
  4. もしくは小数点以下の桁数を数える方法の方がいいのか

ご教授お願いいたします。

[code]

    if (InputNum <= 1 ||  InputNum >= 11) {
        alert( 'Please enter an invalid number.' );
    
        let InputNum = (InputNum > 1 && InputNum < 11)
        while (InputNum > 0.000001){
        InputNum = InputNum / 2
        alert( InputNum )
        InputNum++
    
[/code]




数学を勉強すべきです。[`log2`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/log2)と[`ceil`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)で求めることができます。

[code]

    const count = Math.ceil(Math.log2(InputNum / 0.000001));
    
[/code]

`InputNum = 7`であれば`count = 23`になります。




数学を勉強すべきです。[`log2`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/log2)と[`ceil`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)で求めることができます。

[code]

    const count = Math.ceil(Math.log2(InputNum / 0.000001));
    
[/code]

`InputNum = 7`であれば`count = 23`になります。

