हमने अपने प्रोग्राम में कई बार इंटीजर और कैरेक्टर वेरिएबल्स का इस्तेमाल किया है। यहां हम देखेंगे कि उन्हें मेमोरी में कैसे स्टोर किया जाता है।
सी में वर्ण मान भी पूर्णांक के रूप में संग्रहीत किए जाते हैं। निम्नलिखित कोड में, हम 270 को एक कैरेक्टर टाइप डेटा में डालेंगे। तो 270 का बाइनरी समकक्ष 100001110 है, लेकिन दाएं से केवल पहले 8-बिट्स लेता है। तो परिणाम (00001110) होगा, जो कि 14 है। फिर मान को वेरिएबल ए में संग्रहीत करता है। यह अतिप्रवाह के लिए चेतावनी भी देता है।
अगले वेरिएबल y में, हम ऋणात्मक संख्या जैसे -130 को स्टोर करने का प्रयास कर रहे हैं। ऋणात्मक संख्या 2 की पूरक विधि के रूप में संग्रहीत की जाएगी। तो 130 का बाइनरी (10000010) है। 2 का पूरक मान 01111101 + 1 =01111110 है। यहां भी सबसे सही 8-बिट्स लिए गए हैं। तो परिणाम होगा (01111110) =126
उदाहरण
#include <stdio.h> int main() { char x = 270; char y = -130; printf("The value of x is: %d\n", x); printf("The value of y is: %d", y); }
आउटपुट
The value of x is: 14 The value of y is: 126