基礎資料結構

線段樹

BIT(fenwick tree)

數的"lowbit"

一個二進位數時,取最低位的'1'與所有較低位的'0',捨去以上的位數

怎麼取數的"lowbit"

在二補數下,lowbit(x)=x&-x

解釋:

lowbit(x)=取x最低位的'1'與所有較低位的'0',捨去以上的位數

=取~x最低位的'0',改成'1',所有低位的'1'皆改為'0',捨去以上的位數

=~x+1捨去最低位的'1'以上的位數(+1進位達到前者效果)

=x&(~x+1) ( (~x+1) 最低位的'1'以上的位數,和x做&運算被消掉)

=x&-x

deck

By jeffreylin0909

deck

  • 36