रूबी में, दो हस्ताक्षरित पूर्णांक (जैसे हथौड़ा दूरी) के बीच थोड़ा अंतर की गणना करने का सबसे प्रभावी तरीका क्या है?रूबी में हथौड़ा दूरी की गणना करने का सबसे प्रभावी तरीका?
a = 10001010011111000110101110110101
b = 01101010010000010000100101101000
एक & ख 17 है के बीच थोड़ा अंतर ..
मैं:
जैसे, मैं पूर्णांक एक = +२३२३४०९८४५ और b = 1782647144.
उनके बाइनरी अभ्यावेदन हैं उन पर एक तार्किक एक्सओआर कर सकते हैं, लेकिन यह मुझे एक अलग पूर्णांक देगा! = 17, मुझे परिणाम के द्विआधारी प्रतिनिधित्व के माध्यम से फिर से शुरू करना होगा और # 1 के # के बारे में बताएं।
थोड़ा अंतर की गणना करने का सबसे प्रभावी तरीका क्या है?
अब, क्या कई चींटियों के अनुक्रमों के थोड़ा अंतर की गणना के लिए उत्तर परिवर्तन होता है? जैसे
x = {2323409845,641760420,509499086....}
y = {uint,uint,uint...}
दो दृश्यों के बीच थोड़ा अंतर की गणना करने के लिए सबसे कारगर तरीका क्या है: अहस्ताक्षरित पूर्णांकों का 2 दृश्यों दिया?
क्या आप अनुक्रम के माध्यम से फिर से शुरू करेंगे, या एक ही समय में पूरे अनुक्रम में अंतर की गणना करने का एक तेज़ तरीका है?
धन्यवाद! मैंने अभी ऐसा किया है और यह नीचे दी गई विधि से 3 एक्स तेज है (रूबी के अनुकूलित स्ट्रिंग फ़ंक्शंस का उपयोग करके) – ch3rryc0ke
मैं इस पार्टी के लिए बहुत देर हो चुकी हूं, लेकिन आप [यह पॉपकाउंट बेंचमार्क] (http: // dalkescientific] लेना चाहेंगे। कॉम/लेखन/डायरी/popcnt.cpp) एक स्पिन के लिए। '__builtin_popcount' सबसे धीमे तरीकों में से एक है यदि आप [संकलन ध्वज का उपयोग नहीं करते] [http://www.dalkescientific.com/writings/diary/archive/2011/11/02/faster_popcount_update.html) – x1a4