नकारात्मक संख्याओं का प्रतिनिधित्व करने के तरीके को 2 का पूरक कहा जाता है। यह प्रदर्शित करने के लिए कि यह कैसे काम करता है, उदाहरण के रूप में -12 ले लो। 12, द्विआधारी में, 00001100 है (मान लें कि पूर्णांक 8 बिट्स हैं हालांकि वास्तविकता में वे बहुत अधिक हैं)। प्रत्येक बिट को आसानी से बदलकर 2 का पूरक लें, और आपको 11110011 मिलें। फिर, 11110100 प्राप्त करने के लिए बस 1 जोड़ें। ध्यान दें कि यदि आप एक ही चरण को फिर से लागू करते हैं, तो आपको सकारात्मक 12 वापस मिलते हैं।
>>> शून्य में बदलाव चाहे कोई फर्क नहीं पड़ता, इसलिए 12 >>> 1 आपको 00000110 देना चाहिए, जो 6 है, और (-12) >>> 1 आपको 01111010 देना चाहिए, जो 122 है। यदि आप वास्तव में जावा में इसे आज़माएं, आपको बहुत बड़ी संख्या मिल जाएगी क्योंकि जावा इट्स वास्तव में 8 बिट्स से काफी बड़े हैं।
>> >> उच्चतम बिट के समान थोड़ा बदलाव करता है, ताकि सकारात्मक संख्या सकारात्मक रहे और नकारात्मक संख्या नकारात्मक रहें। 12 >> 1 00000110 (अभी भी 6) और (-12) >> 1 11111010 होगा जो नकारात्मक 6 है।
संभावित डुप्लीकेट: [>>> और >> >> के बीच अंतर] (http://stackoverflow.com/q/2811319/1529630), [जावा का बनाम >>> ऑपरेटर?] (http://stackoverflow.com/q/1034640/1529630) – Oriol