整数型のbit数を求める.


整数のみだけど.

#include

template
size_t get_bit_length(){

  TP n = std::numeric_limits::max();
  size_t len = 0;

  while(n){
    ++len;
    n >>= 1;
  }

  return len;
}


int main(){

  std::cout << get_bit_length() << std::endl;
  std::cout << get_bit_length() << std::endl;

}

でもこれnumeric_limits<>にありそう.


あったw

Vc7のlimitsを見てたらそれらしきものが.

#include

template<typename TP>
size_t get_bit_length(){

  return (std::numeric_limits::digits);

}

これじゃ関数作った意味があまりないけどw

でも俺の疑問は無事解決したのでよかった.