C++ में सभी प्रकार के नंबरों में या तो एक चिन्ह हो सकता है या नहीं। उदाहरण के लिए, आप केवल सकारात्मक पूर्णांक का प्रतिनिधित्व करने के लिए एक int घोषित कर सकते हैं। जब तक अन्यथा निर्दिष्ट न हो, सभी पूर्णांक डेटा प्रकार हस्ताक्षरित डेटा प्रकार होते हैं, अर्थात उनके पास ऐसे मान होते हैं जो सकारात्मक या नकारात्मक हो सकते हैं। अहस्ताक्षरित कीवर्ड का उपयोग बिना संकेतों के चर घोषित करने के लिए किया जा सकता है।
उदाहरण
#include<iostream> using namespace std; int main() { unsigned int i = -1; int x = i; cout << i << ", " << x; return 0; }
आउटपुट
यह आउटपुट देगा -
4294967295, -1
यह आउटपुट इसलिए दिया गया है क्योंकि यह बिट प्रतिनिधित्व में सभी 0 को 1s में बदलकर int को ओवरफ्लो कर देता है और int का अधिकतम मान प्रिंट हो जाता है। ऐसा इसलिए है क्योंकि अब int के पास कोई संकेत नहीं है। लेकिन x में एक चिन्ह होता है इसलिए उसका मान केवल -1 होगा।