इस सवाल का पहले से ही एक उत्तर है: < / P>
- 4 जवाब
एक हस्ताक्षरित पूर्णांक (उदाहरण के कुछ):
-1101363339 = 10111110 01011010 10000111 01110101 में बाइनरी में -2147463094 = 10000000 00000000 01010000 01001010 बाइनरी में -20552 = 11111111 11111111 10101111 10111000 बाइनरी में
अब:
-1101363339 & gt; & gt; 31 उदाहरण के लिए, 1 बराबर होना चाहिए? लेकिन मेरे कंप्यूटर पर, मैं -1 प्राप्त कर रहा हूं चाहे नकारात्मक पूर्णांक के बावजूद अगर मैं x = ऋणात्मक संख्या,
x & gt; & gt; 31 = -1 । क्यूं कर? स्पष्ट रूप से बाइनरी में 1 होना चाहिए।
प्रति C99 6.5.7 बिटटिव पारी ऑपरेटर्स:
अगर ई 1 में एक हस्ताक्षरित प्रकार और एक नकारात्मक मूल्य है, तो परिणामस्वरूप मूल्य कार्यान्वयन-परिभाषित है।
जहां E1 शिफ्ट अभिव्यक्ति की बाईं ओर है तो यह आपके संकलक पर निर्भर करता है कि आपको क्या मिलेगा।
No comments:
Post a Comment