सी सी हेक्साडेसिमल स्थिरांक (उदा। 0x23FE) का इलाज करता है और हस्ताक्षरित या हस्ताक्षरित int?सी में unxigned हेक्साडेसिमल निरंतर?
अम्र
सी सी हेक्साडेसिमल स्थिरांक (उदा। 0x23FE) का इलाज करता है और हस्ताक्षरित या हस्ताक्षरित int?सी में unxigned हेक्साडेसिमल निरंतर?
अम्र
संख्या ही हमेशा एक गैर नकारात्मक संख्या के रूप में व्याख्या की है। हेक्साडेसिमल स्थिरांक में ऋणात्मक संख्या व्यक्त करने के लिए कोई संकेत या कोई अंतर्निहित तरीका नहीं है। स्थिरता का प्रकार इनमें से पहला है जो उनके मूल्य का प्रतिनिधित्व कर सकता है:
int
unsigned int
long int
unsigned long int
long long int
unsigned long long int
यह उन्हें int
शाब्दिक रूप में व्यवहार करता है (मूल रूप से, पर हस्ताक्षर किए पूर्णांक के रूप में!)। एक अहस्ताक्षरित शाब्दिक लिखने के लिए सिर्फ अंत में u
जोड़ें:
0x23FEu
मुझे नहीं लगता कि आप इस तरह के कथन को छोड़ सकते हैं। E.g बशर्ते कि 'int' की चौड़ाई 32 बिट मान' 0x8000' 'हस्ताक्षरित '(अर्थात्' INT_MAX + 1') है और 'हस्ताक्षरित' (और' INT_MIN') नहीं है। –
@ जेन्सगस्टेड: संभवतः आपका मतलब है कि यदि 'int' की चौड़ाई ** 16 ** बिट है तो' 0x8000' 'हस्ताक्षरित 'होगी? –
@ चार्ल्स, शायद। बिट्स की गिनती खुद मेरी शक्ति कभी नहीं थी :) –
मुझे यह सही घोषित करने की विशेषज्ञता की कमी है, लेकिन यह दूसरे उत्तर की तुलना में अधिक समझ में आता है। – delnan
ध्यान दें कि परिणामस्वरूप, 0x8000 या तो आकार (int) 2 या 4 है या नहीं, इस पर निर्भर करता है या हस्ताक्षरित हो सकता है। अगर आपको वास्तव में 'हस्ताक्षरित' की ज़रूरत है तो बस 'यू' संलग्न करें। – anatolyg
@anatolyg: मुझे यकीन नहीं है कि आपका मतलब "यक" से क्या है। यह हमेशा सकारात्मक रहेगा और यह हमेशा सही मूल्य में परिवर्तित हो जाएगा यदि किसी अन्य प्रकार को असाइन या प्रचारित किया जाता है जहां मूल्य अभी भी सीमा में है जो मुझे काफी समझदार और वांछनीय व्यवहार जैसा लगता है। –