समस्या
C प्रोग्रामिंग भाषा का उपयोग करके हेक्साडेसिमल मान को पूर्णांक मान में कैसे बदलें?
अवधारणा की व्याख्या करें।
समाधान
हेक्साडेसिमल मान 16 प्रतीकों 1 से 9 और ए से एफ तक प्रतिनिधित्व करते हैं। यहां, ए से एफ दशमलव समकक्ष 10 से 15 है।
उदाहरण
फ़ंक्शन का उपयोग करके हेक्साडेसिमल को पूर्णांक में परिवर्तित करने के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h>
#include<string.h>
#include<math.h>
int hextodc(char *hex){
int y = 0;
int dec = 0;
int x, i;
for(i = strlen(hex) - 1 ; i >= 0 ; --i)//{
if(hex[i]>='0'&&hex[i]<='9'){
x = hex[i] - '0';
}
else{
x = hex[i] - 'A' + 10;
}
dec = dec + x * pow(16 , y);// converting hexadecimal to integer value ++y;
}
return dec;
}
int main(){
char hex[100];
printf("Enter Hexadecimal: ");
scanf("%s", hex);
printf("\nDecimal: %d", hextodc(hex));
return 0;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
1. Enter Hexadecimal: A Decimal: 10 2. Enter Hexadecimal: A12 Decimal: 2578
स्पष्टीकरण
हेक्स के सभी वर्णों को दाएं-से-बाएं स्कैन करें
स्कैन किए गए वर्ण को A होने दें.
A को उपयुक्त दशमलव रूप में बदलें और इसे x में संग्रहीत करें।
dec =dec + x * 16y
y=y + 1.
दशमलव लौटें।
हम हेक्साडेसिमल मान को बाएं से दाएं स्कैन भी कर सकते हैं लेकिन, हमें y को y =N - 1 के रूप में प्रारंभ करना होगा और प्रत्येक पुनरावृत्ति पर y घटाना होगा। N हेक्साडेसिमल की लंबाई है।