5

मैंने insert type of इनपुट में सेट बिट्स की संख्या गिनने के बारे में कई प्रश्नों को देखा है, लेकिन यह क्यों उपयोगी है?बिट्स की संख्या को गिनना क्यों उपयोगी है?

बिट गिनती के बारे में एल्गोरिदम की तलाश में उन लोगों के लिए, यहाँ देखो:

  1. Counting common bits in a sequence of unsigned longs
  2. Fastest way to count number of bit transitions in an unsigned int
  3. How to count the number of set bits in a 32-bit integer?

उत्तर

5

आप के साथ, एक set के रूप में बिट्स के एक स्ट्रिंग के संबंध में कर सकते हैं एक 1 इसी तत्व के लिए सेट की सदस्यता का प्रतिनिधित्व करता है। इसलिए बिट गिनती आपको सेट के population count देता है।

प्रैक्टिकल अनुप्रयोगों में संपीड़न, क्रिप्टोग्राफी और त्रुटि-सुधार कोड शामिल हैं। उदाहरण देखें wikipedia.org/wiki/Hamming_weight और wikipedia.org/wiki/Hamming_distance

0

यदि आप अपनी खुद की समानता योजना चला रहे हैं, तो आप बिट्स की संख्या गिनना चाहेंगे। (सामान्य रूप से, मैं निश्चित रूप से किसी और का उपयोग करना चाहता हूं।) यदि आप पुराने कंप्यूटर को अनुकरण कर रहे हैं और यह ट्रैक रखना चाहते हैं कि यह मूल पर कितनी तेजी से चल रहा होगा, तो कुछ गुणा निर्देश थे जिनकी गति संख्या के साथ भिन्न थी 1 बिट्स का।

मैं किसी भी समय यह नहीं सोच सकता कि मैं पिछले दस वर्षों में ऐसा करना चाहता हूं, इसलिए मुझे संदेह है कि यह व्यावहारिक आवश्यकता से अधिक प्रोग्रामिंग अभ्यास है।

+0

आप आबादी की गिनती के लिए की तुलना में कम से संचालित होने वाले सीधे समता गणना कर सकते हैं (जब तक अपने CPU है ' POPCNT' या इसी तरह)। –

0

एक विडंबनात्मक फैशन में, यह एक साक्षात्कार प्रश्न के लिए उपयोगी है क्योंकि इसे कुछ विस्तृत निम्न-स्तरीय सोच की आवश्यकता होती है और ऐसा लगता है कि कॉम्प साइंस कोर्स में मानक एल्गोरिदम नहीं है।

0

कुछ लोग "सामान" की उपस्थिति/अनुपस्थिति को इंगित करने के लिए बिटमैप्स का उपयोग करना पसंद करते हैं।

एक शब्द में कम से कम महत्वपूर्ण 1 बिट को अलग करने के लिए एक साधारण हैक है, इसे नीचे के बिट्स में से किसी के क्षेत्र में परिवर्तित करें, और फिर आप 1-बिट्स की गणना करके बिट नंबर पा सकते हैं।

countbits((x XOR (x-1)))-1; 

इसे देखें।

Let x =  00101100 
Then x-1 = 00101011 
x XOR x-1 = 00000111 

कौन सा 3 बिट्स सेट है, तो थोड़ा 2 था मूल शब्द में कम से कम-महत्वपूर्ण 1-बिट

संबंधित मुद्दे

 संबंधित मुद्दे