Integerとバイナリ

811 ワード

  • Integer
  • numberOfLeadingZeros整数バイナリ符号のうち最上位(左端)のビットが1より前のゼロの個数を返す
  • bitCountバイナリコード中ゼロ以外のビット数.

  • ビット演算
  • および、または、非、または
  • &両方が1で結果は1
  • |2桁が1であれば結果は1、そうでなければ0
  • ~セル演算子ビットが0であれば結果は1、ビットが1であれば結果は0
  • ^両オペランドのビットのうち、同一であれば0、異なるであれば1
  • 応用
  • x >> n &1Xのn位を取るか1
  • (Integer.highestOneBit(n)<<1)-1)highestOneBit最高位の他の充填ゼロを取る.1013桁有効数字->111
  • a&b加算でキャリーが必要なビットを計算できます.
  • a^b加算においてaを基準としてキャリーを必要としないビットを算出することができる.


  • Question 2つの整数の漢明距離を求める?
  • return Interger.bitCount(a^b);