delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

08 Oct 2006

如何计算不小于给定数的最小的2整数次方幂?

本文约 199 字,阅读大致需要 1 分钟

dengxf同学提到的一个问题,想了一下,想到的一个算法:

xx为已知量,yy为目标量,kk为迭代轮数,

  1. y=x1y=x-1k=0k=0
  2. 对于 yy 右移 2k2^k>0> 0的情形,执行下列操作,直到此条件不符合为止:
    y与前述结果相与;kk累进11
  3. yy累进11

原理:第(2)步的循环将除最高位的所有0均置位。最后一步(3)修正这一值。

但是感觉不太好,有没有更好的办法呢?