Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में फ्लोटिंग पॉइंट संख्या में सेट बिट्स गिनना

इस समस्या में एक फ्लोटिंग पॉइंट मान दिया गया है। हमें इसके बाइनरी प्रतिनिधित्व में सेट बिट्स की संख्या ढूंढनी है।

उदाहरण के लिए, यदि एक फ्लोटिंग पॉइंट संख्या 0.15625 है तो इसमें छह सेट बिट्स हैं। एक सामान्य C कंपाइलर सिंगल प्रिसिजन फ्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग करता है। तो यह इस तरह दिखेगा।

बिट मानों में बदलने के लिए हमें संख्या को एक पॉइंटर वेरिएबल में लेना होगा, फिर पॉइंटर को char* प्रकार के डेटा में टाइपकास्ट करना होगा। फिर प्रत्येक बाइट को एक-एक करके प्रोसेस करें। फिर हम प्रत्येक char के सेट बिट्स गिन सकते हैं।

उदाहरण

#include <stdio.h>

int char_set_bit_count(char number) {
    unsigned int count = 0;
    while (number != 0) {
        number &= (number - 1);
        count++;
    }
    return count;
}

int count_float_set_bit(float x) {
    unsigned int n = sizeof(float) / sizeof(char); // बाइनरी समकक्ष में कैरेक्टर्स की संख्या गिनें
    int i;
    char *ptr = (char *)&x; // वेरिएबल के पते को char में कास्ट करें
    int count = 0; // परिणाम संग्रहीत करने के लिए
    for (i = 0; i < n; i++) {
        count += char_set_bit_count(*ptr); // प्रत्येक बाइट के लिए बिट्स गिनें
        ptr++;
    }
    return count;
}

int main() {
    float x = 0.15625;
    printf("बाइनरी प्रतिनिधित्व %f में %u सेट बिट्स हैं", x, count_float_set_bit(x));
}

आउटपुट

बाइनरी प्रतिनिधित्व 0.156250 में 6 सेट बिट्स हैं
  1. - पायथन प्रोग्राम: पूर्णांक में सेट बिट्स गिनें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक पूर्णांक n दिया गया है, हमें संख्या के बाइनरी प्रतिनिधित्व में 1 की संख्या गिननी है। उदाहरण (साधारण दृष्टिकोण) = 1 return count # मुख्य n = 15 print(The number of bits:, count(n)) आउटपुट The number of bits: 4 उदाहरण (प

  1. - पायथन लिस्ट कॉम्प्रिहेंशन का उपयोग करके सेट बिट्स गिनें

    सेट बिट्स वे बिट्स हैं जो किसी संख्या के बाइनरी रूप में 1 को दर्शाते हैं। इस लेख में हम देखेंगे कि किसी दी गई दशमलव संख्या में सेट बिट्स की संख्या कैसे गिनें। # 53 बाइनरी में है: 110101 सेट बिट्स की संख्या 1 की संख्या है। यहां यह 4 है। नीचे दिए गए प्रोग्राम में हम संख्या लेते हैं और इसे बाइनरी में ब

  1. - पायथन प्रोग्राम: 1 से n तक सभी नंबर्स में टोटल सेट बिट्स गिनना

    एक पॉजिटिव इंटीजर n दिया गया है, फिर हम इसे बाइनरी प्रतिनिधित्व में बदलते हैं और टोटल सेट बिट्स की संख्या गिनते हैं।उदाहरणInput: n=3 Output: 4एल्गोरिदमचरण 1: पॉजिटिव इंटीजर डेटा इनपुट करें। चरण 2: फिर इसे बाइनरी फॉर्म में कन्वर्ट करें। चरण 3: वेरिएबल s = 0 इनिशियलाइज़ करें। चरण 4: हर एलिमेंट को ट्रै