1
C # แรก 1 (ขวาไปซ้าย) ในเลขฐานสอง
ฉันพยายามใช้ C # เพื่อค้นหาดัชนีของ 1 (ขวาไปซ้าย) ในการแทนเลขฐานสองของตัวเลข ตัวอย่างเช่นตั้งแต่ 100 ในไบนารีคือ: 0b1100100 1 แรกอยู่ในตำแหน่งที่สามจากด้านขวาดังนั้นควรให้ 3 234 ควรให้ผล 2, 0 ควรได้ 0, เป็นต้น นี่คือทางออกปัจจุบันของฉัน: k < 1 ? 0 :(int)Math.Log(k & -k, 2) + 1; ฉันจะทำให้มันสั้นกว่านี้ได้ไหม?