बिटवाइज़ संचालन के साथ कुछ परीक्षण कर रहा/जावास्क्रिप्ट के साथ स्थानांतरणजावास्क्रिप्ट में 0x80000000 >> 1 नकारात्मक मूल्य क्यों उत्पन्न करता है?
0x80000000 >> 1 // returns -1073741824 (-0x40000000)
मुझे लगता है कि जब से
0x40000000 >> 1 // returns 0x20000000
0x20000000 >> 1 // returns 0x10000000
ऐसा इसलिए है क्योंकि 0x800 ... 0b10000 है ..., और जब आप इसे सही स्थानांतरित करते हैं तो यह 0b1100 ..., ऋणात्मक संख्या बन जाता है। दूसरी तरफ, 0x400 ... 0b0100 है ... और 0x200 ... 0b0010 है ... और उन्हें यह समस्या नहीं है। – NullUserException
@NullUserException क्षमा करें अगर यह बहुत ही बुनियादी चीजें है, लेकिन यह 0b0100 क्यों नहीं बनती है ...? 0x80 .. स्थानांतरित किया जा सकता है तो यह एक सकारात्मक 0x40 पैदा करता है ..? – lostsource
@NullUserException: उत्तर –