在奇数变为奇数之前偶数可以除以2的次数?

时间:2014-02-16 21:05:39

标签: algorithm math bit-manipulation

我试图找出一种方法来计算偶数在变为奇数之前可被除以2的次数。 I.E. 100/2 = 50 => 50/2 = 25.所以100可以除以2两次。在变得奇怪之前。我正在寻找所有非幂数的偶数。

1 个答案:

答案 0 :(得分:3)

这是两个问题。

  1. 我试图找出一种方法来计算偶数在变为奇数之前可被除以2的次数。 I.E. 100/2 = 50 => 50/2 = 25.所以100可以除以2两次。在变得奇怪之前。
  2. 转换数字二进制数并计算前一个数字前的0。每次下潜2时你会松开一个零,当一个1处于“第一”位置时,你得到一个奇数。

    1. 我正在寻找所有偶数不是2的数字。
    2. 再次,看二进制,2的幂只有一个位设置,奇数有1位设置。所以任何设置了多位而不是1位的是你的答案。