c मैं एक बिट कैसे प्रिंट करूं?




printf bit (5)

कृपया मुझे बताएं कि मैं थोड़ा प्रिंट कैसे करूँ, जैसे printf("%d",bit);


यदि आप Herms से अधिक सामान्यीकरण की आवश्यकता है, तो आप ऐसा कर सकते हैं:

#define IsBitSet(val, bit) ((val) & (1 << (bit)))

/* ... your code ... */

printf ("%c", IsBitSet(bit, 0) ? '1' : '0');

प्रिंटफ़ हेर्मस के जवाब के बराबर है जैसा है।

यदि आप सी में बिटफ़ील्ड के बारे में बात कर रहे हैं, तो आप यह कर सकते हैं:

struct foo { int b:1; } myFoo;

printf("%c", myFoo.b ? '1' : '0');

आप "संघ" का उपयोग कर सकते हैं:

union bitshow {
    unsigned bit1:1;
    int i;
};

int main() {
    union bitshow bit;
    cin >> bit.i;
    cout << bit.bit1;
    return 0;
}

C ++ उत्तर C89 एक की तुलना में आसान है, देशी बाल प्रकार के साथ:

bool b = true;
std::cout << b;

C99 काफी समान है:

_Bool b = 1;
printf("%d", b);

यदि बिट केवल एक पूर्णांक है जिसमें कम से कम महत्वपूर्ण बिट में आप चाहते हैं, तो:

printf("%d", bit & 0x1);

इसे करना चाहिए और वह केवल पहले महत्वपूर्ण बिट सेट के साथ एक द्विआधारी-और एक संख्या के साथ कर रहा है, इसलिए आप पूर्णांक में बाकी सभी बिट्स निकाल रहे हैं






bit