/ 最近 .rdf 追記 編集 設定 本棚

脳log[20141224]



2014年12月24日 (水) 3.1 自然数の桁数 int, longなどC99の範囲でサポートされている整数型で表現可能な(0を含まない)自然数の桁数は,その自然数の常用対数と等しいです. libmで用意されているlog10(double)を利用して常用対数を求めることも可能ですが,浮動小数点数への変換など,実行コストが高いため自然数専用のlog10関数を用意し桁数を求めることとしました.」■ちょうどこの日記(20090313p01.07)を読み返していたところなので思わずブックマーク。カジュアルに桁数を知りたいことはままある。整数であること範囲が決まっていることを利用した最適化が可能、と。__builtin_clzlが GCCのビルトイン関数なのはどうしたらいいのかな……