सी मध्ये बिटवाइज ऑपरेटर
बिटवाईज ऑपरेटर हे ऑपरेटर आहेत जे बिट-लेव्हलवर डेटावर ऑपरेशन्स करण्यासाठी वापरले जातात. जेव्हा आम्ही बिटवाइज ऑपरेशन्स करतो, तेव्हा त्यास बिट-लेव्हल प्रोग्रामिंग म्हणून देखील ओळखले जाते. यात दोन अंकांचा समावेश आहे, एकतर 0 किंवा 1. ही गणना वेगवान करण्यासाठी मुख्यत: संख्यात्मक संगणनात वापरली जाते. आमच्याकडे सी प्रोग्रामिंग भाषेत वेगवेगळ्या प्रकारचे बिटवाइज ऑपरेटर आहेत. खाली बिटवाईज ऑपरेटरची यादी खालीलप्रमाणे आहे:
ऑपरेटर ऑपरेटरचा अर्थ आणि बिटवाईज आणि ऑपरेटर | बिटवाईज किंवा ऑपरेटर ^ बिटवाइज अनन्य किंवा ऑपरेटर ~ एखाद्याचे पूरक ऑपरेटर (युनरी ऑपरेटर) << डावा शिफ्ट ऑपरेटर >> राइट शिफ्ट ऑपरेटर
चला बिटवाइज ऑपरेटरच्या सत्य सारणीकडे पाहूया.
X y x & y x | y x^y 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1
बिटवाईज आणि ऑपरेटर
बिटवाईज आणि ऑपरेटर एकल एम्परसँड चिन्ह (&) द्वारे दर्शविले जाते. (&) ऑपरेटरच्या दोन्ही बाजूंनी दोन पूर्णांक ऑपरेंड लिहिले आहेत. जर दोन्ही ऑपरेंडचे संबंधित बिट्स 1 असतील तर बिटवाईस आणि ऑपरेशनचे आउटपुट 1 आहे; अन्यथा, आउटपुट 0 असेल.
Aamhi Aahe Daena vheriPbalsa A Aanai bai.
A =6;
bai=4;
D baayanari pzatainaioaitva cyaa D varila Daena vheriPbalsa Aaheta Dilae qaalai:
A = 0110
bai = 0100
jaevha Aamhi AjaZRkra D baiTvaaEZja Aanai ApareSana maoyae D varila Daena vheriPbalsa, mai.EZ., A&bai, D AaUTpauT Asae baiEZ:
parinaama = 0100
आम्ही वरील निकालावरून निरीक्षण करू शकतो की दोन्ही व्हेरिएबल्सच्या बिट्सची तुलना एक करून केली जाते. जर दोन्ही व्हेरिएबल्सचा बिट 1 असेल तर आउटपुट 1 असेल, अन्यथा 0. प्रोग्रामद्वारे बिटवाईज आणि ऑपरेटर समजूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=6, bai=14; // cala oaaeSanaa
laiha("D AaUTpauT cyaa D baiTvaaEZja Aanai ApareTr a&b Aahe %paunaZ",A&bai);
vaapasakra 0;
}
वरील कोडमध्ये, आम्ही दोन व्हेरिएबल्स तयार केले आहेत, म्हणजेच, 'ए' आणि 'बी'. 'ए' आणि 'बी' ची मूल्ये अनुक्रमे 6 आणि 14 आहेत. 'ए' आणि 'बी' चे बायनरी मूल्य अनुक्रमे 0110 आणि 1110 आहे. जेव्हा आम्ही या दोन व्हेरिएबल्स दरम्यान आणि ऑपरेटर लागू करतो तेव्हा
बिटवाईज किंवा ऑपरेटर
बिटवाईज किंवा ऑपरेटर एकल अनुलंब चिन्ह (|) द्वारे दर्शविले जाते. (|) चिन्हाच्या दोन्ही बाजूंनी दोन पूर्णांक ऑपरेंड लिहिले आहेत. जर कोणत्याही ऑपरेंडचे बिट मूल्य 1 असेल तर आउटपुट 1 असेल, अन्यथा 0.
उदाहरण
Aamhi vaicaarRkra Daena vheriPbalsa,
A = 23;
bai = 10;
D baayanari pzatainaioaitva cyaa D varila Daena vheriPbalsa Asae baiEZ:
A = 0001 0111
bai = 0000 1010
jaevha Aamhi AjaZRkra D baiTvaaEZja kiMvaa ApareTr maoyae D varila Daena vheriPbalsa, mai.EZ., A|bai , maga D AaUTpauT Asae baiEZ:
parinaama = 0001 1111
आम्ही वरील निकालावरून निरीक्षण करू शकतो की दोन्ही ऑपरेंड्सच्या बिट्सची तुलना एक एक करून केली जाते; जर एकतर बिटचे मूल्य 1 असेल तर आउटपुट 1 अन्यथा 0 असेल.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=23,bai=10; // cala oaaeSanaa
laiha("D AaUTpauT cyaa D baiTvaaEZja kiMvaa ApareTr a|b Aahe %paunaZ",A|bai);
vaapasakra 0;
}
बिटवाइज अनन्य किंवा ऑपरेटर
बिटवाईज अनन्य किंवा ऑपरेटर (^) चिन्हाद्वारे दर्शविले जाते. विशेष किंवा ऑपरेटरच्या दोन्ही बाजूंनी दोन ऑपरेंड लिहिले आहेत. जर कोणत्याही ऑपरेंडचा संबंधित बिट 1 असेल तर आउटपुट 1 असेल, अन्यथा 0.
आम्ही दोन व्हेरिएबल्स अ आणि बी मानतो, ए = 12; बी = 10; वरील दोन चलांचे बायनरी प्रतिनिधित्व असे होईलः a = 0000 1100 बी = 0000 1010 जेव्हा आम्ही वरील दोन व्हेरिएबल्स (ए^बी) मध्ये बिटवाइज एक्सक्लुझिव्ह किंवा ऑपरेटर लागू करतो तेव्हा त्याचा परिणाम होईलः परिणाम = 0000 1110
आम्ही वरील निकालावरून निरीक्षण करू शकतो की दोन्ही ऑपरेंड्सच्या बिट्सची तुलना एक एक करून केली जाते; जर कोणत्याही ऑपरेंडचे संबंधित बिट मूल्य 1 असेल तर आउटपुट 1 अन्यथा 0 असेल.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=12,bai=10; // cala oaaeSanaa
laiha("D AaUTpauT cyaa D baiTvaaEZja Ananya kiMvaa ApareTr a^b Aahe %paunaZ",A^bai);
vaapasakra 0;
}
बिटवाईज पूरक ऑपरेटर
बिटवाईज पूरक ऑपरेटरला एखाद्याचे पूरक ऑपरेटर म्हणून देखील ओळखले जाते. हे टिल्डे (~) प्रतीक दर्शविले जाते. हे फक्त एक ऑपरेंड किंवा व्हेरिएबल घेते आणि ऑपरेंडवर पूरक ऑपरेशन करते. जेव्हा आम्ही कोणत्याही बिट्सवर पूरक ऑपरेशन लागू करतो, तेव्हा 0 बनते 1 आणि 1 0 बनते.
उदाहरण
jar Aamhi Aahe A cala naamaaMkita 'A',
A = 8;
D baayanari pzatainaioaitva cyaa D varila cala Aahe Dilae qaalai:
A = 1000
jaevha Aamhi AjaZRkra D baiTvaaEZja paurk ApareTr Tu D ApareMd, maga D AaUTpauT Asae baiEZ:
parinaama = 0111
जसे आपण वरील निकालावरून निरीक्षण करू शकतो की जर बिट 1 असेल तर तो 0 अन्य 1 मध्ये बदलला जाईल.
उदाहरण
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=8; // cala oaaeSanaa
laiha("D AaUTpauT cyaa D baiTvaaEZja paurk ApareTr ~a Aahe %paunaZ",~A);
vaapasakra 0;
}
बिटवाईज शिफ्ट ऑपरेटर
सी प्रोग्रामिंगमध्ये दोन प्रकारचे बिटवाईज शिफ्ट ऑपरेटर अस्तित्वात आहेत. बिटवाईज शिफ्ट ऑपरेटर डाव्या बाजूच्या किंवा उजव्या बाजूने बिट्स बदलतील. म्हणूनच, आम्ही असे म्हणू शकतो की बिटवाईज शिफ्ट ऑपरेटर दोन श्रेणींमध्ये विभागले गेले आहे: डावे-शिफ्ट ऑपरेटर राइट-शिफ्ट ऑपरेटर
डावे-शिफ्ट ऑपरेटर
डावे-शिफ्ट ऑपरेटर
हे एक ऑपरेटर आहे जे बिट्सची संख्या डाव्या बाजूला बदलते.
कसे लिहावे
ऑपरेंड << एन
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=5; // cala AarMBa
laiha("D maulya cyaa a<<2 Aahe : %paunaZ ", A<<2);
vaapasakra 0;
}
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=7; // cala AarMBa
laiha("D maulya cyaa a>>2 Aahe : %paunaZ ", A>>2);
vaapasakra 0;
}