मेरे पास एक बहुत ही सरल प्रश्न है जो मुझे लंबे समय तक चकरा देता है। मैं नेटवर्क और डेटाबेस के साथ काम कर रहा हूं इसलिए बहुत से डेटा जो मैं काम कर रहा हूं 32-बिट और 64-बिट काउंटर (अहस्ताक्षरित), 32-बिट और 64-बिट पहचान आईडी (साइन के लिए सार्थक मैपिंग नहीं है)। मैं व्यावहारिक रूप से कभी भी किसी भी वास्तविक शब्द मामले से नहीं निपटता हूं जिसे नकारात्मक संख्या के रूप में व्यक्त किया जा सकता है।
मैं और मेरे सह-कार्यकर्ता नियमित रूप से इन मामलों के लिए uint32_t
और जैसे अनियोजित प्रकारों का उपयोग uint64_t
करते हैं और ऐसा इसलिए होता है क्योंकि अक्सर हम उनका उपयोग सरणी अनुक्रमित और अन्य सामान्य पूर्णांक उपयोगों के लिए भी करते हैं।
उसी समय विभिन्न कोडिंग गाइड जो मैं पढ़ रहा हूं (उदाहरण के लिए Google) अहस्ताक्षरित पूर्णांक प्रकारों के उपयोग को हतोत्साहित करता हूं, और जहां तक मुझे पता है कि न तो जावा और न ही स्काला में अहस्ताक्षरित पूर्णांक प्रकार हैं।
इसलिए, मैं यह पता नहीं लगा सका कि क्या करना सही है: हमारे वातावरण में हस्ताक्षरित मूल्यों का उपयोग करना बहुत असुविधाजनक होगा, साथ ही कोडिंग गाइडों को ठीक से ऐसा करने के लिए जोर देना होगा।