में थोड़ा निकालें मुझे रूबी में हस्ताक्षर या हस्ताक्षरित, एक इंटीजर का एन-थ बिट प्राप्त करने की आवश्यकता है।रूबी इंटीग्रर्स
x = 123 # that is 1111011
n = 2 # bit 2 is ...0
कोड का निम्न भाग सामान्य स्थिति में काम नहीं करता:
x.to_s(2)[-(n+1)] #0 good! but...
क्योंकि 2-पूरक के रूप में प्रतिनिधित्व नहीं ऋणात्मक संख्याओं की
:
-123.to_s(2) # "-1111011"
तो कैसे आगे बढ़ना है ?
परिणाम 1 और 0 उलटा हुआ है। मैंने सफलता के बिना अपनी पोस्ट को संपादित करने की कोशिश की – JCLL
@ जेसीएलएल: धन्यवाद! यह एक ऐसा मामला है जहां कट और पेस्ट वास्तव में * एक बग को रोक दिया जाएगा :-) –
हे, फिर भी एक और ठंडा रूबी ऑपरेटर: [] फिक्सनम पर, किसी भी तरह से दोनों दस्तावेज़ों में दिन के रूप में एक ही समय में दृष्टि से बाहर दफनाया गया। – DigitalRoss