आईएसओ सी मानक हस्ताक्षरित पूर्णांक के लिए तीन एन्कोडिंग विधियों की अनुमति देता है: दो पूरक, एक पूरक और साइन/परिमाण।सी में हस्ताक्षरित पूर्णांक पर एन्कोडिंग का पता लगाने के लिए कैसे?
रनटाइम पर एन्कोडिंग का पता लगाने के लिए एक कुशल या अच्छा तरीका क्या है (या कोई बेहतर समाधान यदि कोई बेहतर समाधान है)? मैं यह जानना चाहता हूं ताकि मैं विभिन्न संभावनाओं के लिए एक बिग्नम लाइब्रेरी को अनुकूलित कर सकूं।
मैं इस गणना और हर बार कार्यक्रम तो चलाता है एक चर में भंडारण पर योजना यह blindingly उपवास होने की जरूरत नहीं है - मैं यह सोचते हैं रहा हूँ एन्कोडिंग कार्यक्रम चलाने के दौरान परिवर्तन नहीं होगा :-)
आपको कभी भी रन-टाइम पर ऐसा करने की आवश्यकता नहीं होगी - यह एक विशिष्ट आर्किटेक्चर के लिए संकलन करते समय पूरी तरह से एक संकलन-समय समस्या है। –
बिग्नम पुस्तकालयों के लिए आप लगभग हमेशा बिना हस्ताक्षर किए गए प्रकार चाहते हैं। जबकि आप उच्चतम आदेश शब्द के लिए एक हस्ताक्षरित प्रकार का उपयोग करने में सक्षम हो सकते हैं, तो शायद एक अलग साइन बिट स्टोर करना और हमेशा सकारात्मक संख्याओं के साथ काम करना आसान है, और फिर साइन बिट के आधार पर अतिरिक्त/घटाव की भावना को फ़्लिप करें। असल में आपका स्वयं का संकेत/परिमाण प्रतिनिधित्व। –