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

संरचना अवधारणा का उपयोग करके सी भाषा में बिट फ़ील्ड की व्याख्या करें

बिट फ़ील्ड का उपयोग बिट्स के संदर्भ में चर के आकार को निर्दिष्ट करने के लिए किया जाता है। आम तौर पर, इसे एक संरचना के अंदर परिभाषित किया जाता है।

  • बिट फ़ील्ड:1 बाइट=8 बिट

उदाहरण के लिए,

एक उदाहरण नीचे समझाया गया है -

Struct info{
   int x:2;
};

यहाँ, x 2बिट्स पर कब्जा कर रहा है।

किसी बिट फ़ील्ड को उसकी सीमा से बाहर किसी भी मान को निर्दिष्ट करना अमान्य है।

हम बिट फ़ील्ड के मान को इनपुट करने के लिए स्कैनफ़ स्टेटमेंट का उपयोग नहीं कर सकते, क्योंकि आकार और पता ऑपरेटर बिट फ़ील्ड पर लागू नहीं हो सकते।

डेटा प्रकार जिन्हें हम एक बिट फ़ील्ड को असाइन कर सकते हैं वे इंट, साइन इंट, अहस्ताक्षरित इंट हो सकते हैं।

कार्यक्रम

अहस्ताक्षरित int के लिए C C प्रोग्राम निम्नलिखित है -

#include<stdio.h>
struct info{
   unsigned int x:3;// assign bit field to unsigned int inside structure
};
main(){
   struct info i;
   i.x=8;
   printf("%d",i.x);
}

आउटपुट

आउटपुट इस प्रकार है &miuns;

0

स्पष्टीकरण

  • अहस्ताक्षरित int के लिए श्रेणी सूत्र 0 से 2n-1 और n=बिट्स की संख्या है।

  • यहाँ, n=3, यानी, unsigned int 0 से 23 -1 के बीच है, जो 0 से 7 के बराबर है।

संरचना अवधारणा का उपयोग करके सी भाषा में बिट फ़ील्ड की व्याख्या करें

कार्यक्रम

नीचे दिए गए कार्यक्रम को देखें इंट के लिए -

#include<stdio.h>
struct info{
   int x:3;// assign bit field to int inside structure
};
main(){
   struct info i;
   i.x=4;
   printf("%d",i.x);
}

आउटपुट

आपको निम्न आउटपुट मिलेगा -

-4

स्पष्टीकरण

  • हस्ताक्षरित int =(-2(n-1)+1) से 2n-1 के लिए श्रेणी सूत्र, जहां n बिट्स की संख्या नहीं है।
  • कार्यक्रम में, n=3
  • इसे सूत्र में प्रतिस्थापित करें और हमारे पास निम्नलिखित परिणाम हैं -
=(-2(3-1)+1) to 23-1
=(-22+1) to 22
= -3 to 4 i.e., -3,-2,-1,0,1,2,3,4,

  1. सी प्रोग्रामिंग भाषा में पॉइंटर्स की सरणी की व्याख्या करें

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सुविधाएं सूचक स्मृति स्थान बचाता है। मेमोरी लोकेशन तक सीधी पहुंच के कारण पॉइंटर का निष्पादन समय तेज होता है। पॉइंटर्स की मदद से, मेमोरी को कुशलता से एक्सेस किया जाता है, यानी मेमोरी को गतिशील रूप से आवंटित और डील किया जाता है। पॉइंटर

  1. C भाषा में यूनियन टू पॉइंटर को समझाएं

    एक यूनियन को मेमोरी लोकेशन कहा जाता है, जिसे विभिन्न प्रकार के डेटा के कई वेरिएबल द्वारा साझा किया जाता है। सिंटैक्स वाक्य रचना इस प्रकार है - union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; उदाह

  1. C भाषा में पॉइंटर एक्सेसिंग की अवधारणा की व्याख्या करें

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि