मान लीजिए कि हमारे पास एक संख्या n और दूसरा मान k है। हमें यह जांचना है कि n में kth बिट सेट है या नहीं (1)। k का मान दायीं ओर से माना जाता है।
इसलिए, यदि इनपुट n =23, k =3 जैसा है, तो आउटपुट ट्रू होगा क्योंकि 23 का बाइनरी फॉर्म 10111 है, इसलिए तीसरा अंतिम बिट 1 (सेट) है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अस्थायी:=n बिट्स (k-1) को दाईं ओर स्थानांतरित करने के बाद
- यदि अस्थायी और 1 1 है, तो
- सही लौटें
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
def solve(n,k): temp = n >> (k - 1) if temp & 1: return True return False n = 23 k = 3 print(solve(n, k))
इनपुट
23, 3
आउटपुट
True