Left Shift, Signed Right Shift & Unsigned Right Shift Operators

Left Shift

इसे दो Less Then Signs ( << ) द्वारा Represent करते हैं और ये भी दो Values पर काम करता है। Left Shift Operation में पहली Value का मान हर Bit Left Shift होते ही दुगुना हो जाता है। जैसे-

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

उपरोक्त उदाहरण में oldValue का मान 2 है जो कि Binary Value 10 के बराबर है जबकि अगले Statement में 5 Bit Left Shift करने पर newValue Variable में Brainy Value “1000000” Store हो जाता है, जो कि Decimal Value 64 के बराबर है। हर Bit के Left Shict होने पर Decimal Value दुगुनी हो रही है। यानी

1 Bit Left Shift होने पर 2 का मान 4 हो जाता है।

2 Bit Left Shift होने पर 2 का मान 8 हो जाता है।

3 Bit Left Shift होने पर 2 का मान 16 हो जाता है।

4 Bit Left Shift होने पर 2 का मान 32 हो जाता है।

5 Bit Left Shift होने पर 2 का मान 64 हो जाता है।

जब Bits Left में Shift होते हैं, तो Right Side के Bits Automatically 0 से Fill हो जाते हैं, जिसे हम निम्न चित्र द्वारा समझ सकते हैं:

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

उपरोक्त चित्र में आप देख सकते हैं कि यदि Left Most Sign Bit का मान 0 से 1 कर दिया जाए, तो संख्‍या -64 हो जाएगी। यदि इसी बात को दूसरे तरीके से कहें, तो Left Most Bit का मान 1 होने पर संख्‍या Negative हो जाती है।

Signed Right Shift

जब हम किसी Signed Value को Right Shift करते हैं तब हमें दो Greater Then Signs (>>) को Use करना पडता है। Signed Right Shift Operation, Left Shift Operation का Exactly उल्टा होता है। यानी हर Bit के Right Shift होने के साथ ही Value का मान आधा होता जाता है, जिसे निम्न उदाहरण द्वारा समझ सकते हैं:

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

इस Shifting में Left Most Sign Bit Shift नहीं होता, क्योंकि संख्‍या Sign वाली है। साथ ही Shifting के बाद जो Bit Space बनता है, उसमें 0 Fill हो जाता है, जिसे हम निम्न चित्र द्वारा समझ सकते हैं:

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

Unsigned Right Shift

Unsigned Right Shift को तीन Greater Then Signs ( >>> ) द्वारा Represent किया जाता है। जब संख्‍या Positive होती है, तब Shifting Process, Exactly Signed Right Shift की तरह ही होती है। जैसे-

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

जबकि संख्‍या के Negative होने की स्थिति में बिल्कुल अलग तरह की Processing होती है। उदाहरण के लिए -64 को 5Bit Right Shift करने पर निम्न स्थिति होती है:

Left Shift Signed Right Shift and Unsigned Right Shift Operators in Hindi

वास्तव में जब JavaScript -64 को 5 Bit Right Shift करता है, तब उपरोक्त Binary के Left Side में पांच 0 Fill हो जाते हैं और हमें 00000111111111111111111111111110 Binary प्राप्त होती है, जो कि 134217726 Decimal Value के बराबर होती है।

वैसे Professional Development में हमें Binary Values के साथ प्रक्रिया करने की जरूरत 99.9% नहीं पडती है। इस प्रकार के Operators की जरूरत तब पडती है जब JavaScript Program की Speed काफी कम हो जाती है या बडी Scientific Calculations को Perform करना होता है। इसलिए यदि इस Operator को ठीक से नहीं समझ पा, हों, तो भी आपको Professional Development में कोई परेशानी नहीं आएगी।


error: Content is protected !!

Special Discount Offer

खरीदिए एक से ज्‍यादा EBooks, और पाईए ₹100 से ₹1200 तक का Extra Cash Discount

Discount Coupon Codes