這是從codeeval問題:「職位是基於1的意思」是什麼?
給定數量n和兩個整數P1,P2確定是否在位置p1和p2的位是相同的或不。位置p1和p2是基於1的。
什麼是位置p1和p2是基於1的是什麼意思?
這是從codeeval問題:「職位是基於1的意思」是什麼?
給定數量n和兩個整數P1,P2確定是否在位置p1和p2的位是相同的或不。位置p1和p2是基於1的。
什麼是位置p1和p2是基於1的是什麼意思?
這意味着第一(最低)位爲1位,而不是位0
例如,如果n爲23,p1爲2,和p2是4,則回答是,位是不同的。因爲二進制中的23是10111,其中第2位是1,而第4位是0.
如果位置編號是基於0而非常常見的,那麼答案就是位是同樣,因爲該方案中的比特2和4都是1。
POSITIONS, 1-BASED: 5 4 3 2 1 # bit 4 is a 0 and bit 2 is a 1
VALUES: 1 0 1 1 1
POSITIONS, 0-BASED: 4 3 2 1 0 # bit 4 and bit 2 are both 1's
所以我用((INT(LINE1 [0])>> P1-1) - 1 )允許基於1的頭寸? –
當然,使用基於1的計數,'(n >>(p1-1))&1'會得到'n'內位'p1'的值。 –
感謝您的幫助。 –
我想這意味着第一比特位置是1,第二2等而不是0,1 .. – OK11