ASK A QUESTION

    Bit Fields in Hindi

in Hindi - Bit Fields



  • Bit Fields ये Program की memory को बचाता है |
  • Bit Fields Structure और Union में काम करता है |

Syntax for Bit Fields

struct_or_union structure_or_union_name{
   data_type member 1: bit(s);
   data_type member 2: bit(s);
   data_type member n: bit(s);
}structure_or_union variable;

Normal Program for Structure

अबतक Normal Structure के Program में Bit Field का इस्तेमाल नहीं किया है | इस Program में structure ने 8 bytes की memory consume की है |

Source Code :
#include <stdio.h>

struct Numbers{

unsigned int a;
unsigned int b;
}value;

int main() {

value.a = 1;
value.b = 6;

	printf("Size of a : %d bytes\n", sizeof(value.a));
	printf("Size of b : %d bytes", sizeof(value.b));

return 0;
}
Output :
Size of a : 4 bytes
Size of b : 4 bytes
Size of Numbers structure : 8 bytes


Program for Structure using Bit Fields

निचे दिए हुए Program ने अपना bit field रखा है | member 'a' के लिए सिर्फ 1 bit लिया है और 'b' के लिए 3 bits लिए है | पूरा structure सिर्फ 4 bits ही इस्तेमाल करेगा | लेकिन Program के output में structure ने 4 bytes का इस्तेमाल किया है | हर 1 byte = 8 bits का होता है और यहाँ पर 4 bytes = 32 bits structure ने इस्तेमाल कर ली है | Structure कम से कम 4 bytes ही consume कर लेता है , इससे कम memory consume नहीं की जाती | अगर Programmer चाहे तो और भी members declare कर सकता है |

for eg.
1 bits के 32 members Programmer 4 bytes में declare कर सकता है |
2 bits के 16 members Programmer 4 bytes में declare कर सकता है |
3 bits के 30 members Programmer 4 bytes में declare कर सकता है |
4 bits के 8 members Programmer 4 bytes में declare कर सकता है |
8 bits के 4 members Programmer 4 bytes में declare कर सकता है |
16 bits के 2 members Programmer 4 bytes में declare कर सकता है |
32 bits के 1 members Programmer 4 bytes में declare कर सकता है |

Source Code :
#include <stdio.h>

struct Numbers{

unsigned int a : 1;
unsigned int b : 3;
}value;

int main() {

value.a = 1;
value.b = 6;

	printf("Size of structure Numbers : %d bytes\n", sizeof(value));

return 0;
}
Output :
Size of Numbers structure : 4 bytes



Bits की संख्या कैसे दे ?

Bits binary numbers पर काम करता है | अगर कोई integer value को देना हो तो सोचना चाहिए कि उसे कितने bits लगेंगे for eg. अगर यहाँ पर integer की value '6' ले ली तो 4 का binary '110' है मतलब binary की संख्या '3' है इसीलिए integer की value '6' के लिए 3 bits को set करे |


Bit Fields के साथ Structure Bits कैसे लेता है ?



Source Code :
#include <stdio.h>

struct Numbers{

unsigned int a : 1;
unsigned int b : 3;
}value;

int main() {

value.a = 1;
value.b = 6;

	printf("Size of structure Numbers : %d bytes\n", sizeof(value));

return 0;
}
Output :
Size of Numbers structure : 4 bytes