समस्या
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 हेक्साडेसिमल की लंबाई है।