Right Shift Operator in C : ये Operator, Operand के Bits को Right में Shift करने का काम करता है। हमें किसी Operand के Bits को जितना Shift करना होता है, हम इस Operator के बाद वह संख्या लिख देते हैं।
जैसे val का मान 128 है और हमें इसके Bits orientation को 2 अंक Right में Shift करना हो तो हम val >> 2 लिखते हैं। इस Statement से val में Stored Bits 10000000 दो Bit Right में Shift हो जाता है और हमें 00100000 प्राप्त होता है। हम जितने Bits Right में Shift करते हैं, Bit-Pattern में Left side में उतने ही 0 fill हो जाते हैं। इसे एक उदाहरण द्वारा देखते हैं।
Program #include <stdio.h> #include <conio.h> main() { int k = 1028, l; clrscr(); printf("\n Value of Identifier K is %d \n", k); l = k >> 2; printf("\n After 2-Bits Right Shifting \n"); printf(" The Value of K is %d \n", l); getch(); } Output Value of Identifier K is 1028 After 2-Bits Right Shifting The Value of K is 257
इस प्रोग्राम में हम देख सकते हैं कि Operand k में Stored Bits, Right में Shift हो रहे हैं। जैसे-जैसे Bits Right में Shift होते हैं तो k का मान भी बदलता जाता है। Right Shifting से एक और बहुत महत्वपूर्ण तथ्य सामने आता है, जो ये है कि यदि हम क्रम से किसी संख्या को एक-एक Bit Right Shift करते जाते हैं, तो Operand का मान भी क्रम से आधा होता जाता है।
यानी Right Shifting से हम जितने Bits Right में Shift करते हैं, उतनी ही बार Operand का मान आधा हो जाता है। जैसे इस Program में हुआ है। 1028 को यदि 4 Bit Right में Shift किया जाए तो ये कहा जा सकता है कि 1028 में चार बार दो का भाग दिया गया है। यानी
1028/ 2 = 514
514 / 2 = 257
हमने जैसा कि पहले बताया कि हम Bitwise Operators का प्रयोग केवल char या int प्रकार के Operand के साथ ही कर सकते हैं और यहां int प्रकार के Operand k के साथ प्रक्रिया की है। यहां ये सवाल दिमाग में आ सकता है कि 257 / 2 = 128.5 होना चाहिये था फिर 256 क्यों हुआ। इसकी वजह यही है कि int प्रकार का मान पूर्णांक में ही हो सकता है। int में दसमलव संख्याएं मान्य नहीं हैं और Bitwise Operators float या double को मान्य नहीं करते, वे केवल int या char को मान्य करते हैं। इसलिए यहां 128.5 ना हो कर 128 ही हुआ है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C Programming Language in Hindi | Page: 477 + 265 | Format: PDF