チャレンジ
32ビットの2の補数形式の整数を指定して、バイナリ表現の2番目の最下位ゼロ桁のインデックスを返します。のインデックスは0最下位ビットを31表し、のインデックスは最上位ビットを表します。
2番目のゼロがない場合は、0、負の数、偽の値を返すか、言語で意味のある方法でエラーを報告することができます。
必要に応じて1インデックスを使用できますが、以下のテストケースでは0インデックスを使用します。
必要に応じて、符号なし整数を使用できます。その場合、範囲内の整数を処理する必要があります[0, 2^32)。符号付き整数を使用する場合は、範囲内の整数を処理する必要があります[-2^31, 2^31)。ここでのテストケースは符号付き整数を使用しますが、(符号付き)-xは2^32 - x(符号なし)であることに注意してください。
テストケース
0(0b00)-> 1 1(0b001)-> 2 10(0b1010)-> 2 11(0b01011)-> 4 12(0b1100)-> 1 23(0b010111)-> 5 -1(0b11..11)->なし -2(0b11..10)->なし -4(0b11..00)-> 1 -5(0b11..1011)->なし -9(0b11..10111)->なし 2 ^ 31-2(0b0111..1110)-> 31
得点
これはコードゴルフなので、各言語で最も短い答えが勝ちます!
[0, 2^32)。
0b...を入力として使用していますか?
2^32-1ので、私は戻るべきではなかったから33です。