0x नोटेशन का उपयोग करने वाले नंबर का क्या मतलब है?


107

0xकिसी संख्या पर उपसर्ग का क्या अर्थ है?

const int shared_segment_size = 0x6400;

यह C प्रोग्राम से है। मुझे याद नहीं है कि यह क्या है और विशेष रूप से पत्र xका क्या मतलब है।


2
"हेक्साडेसिमल नोटेशन" की खोज करें
asawyer

2
@ सासवीर धन्यवाद। इससे पहले कि मैं "0x" को हेक्साडेसिमल के रूप में उठाता, मुझे पता नहीं था कि हालांकि कहां से खोजना है।
टेरी ली

3
0x prefix C++आपके लिए खोज अब यहाँ लाता है :)
कार्ल स्मिथ

जवाबों:


111

जिन साहित्य से शुरुआत होती है, 0xवे हेक्साडेसिमल पूर्णांक हैं। (आधार 16)

संख्या 0x6400है 25600

6 * 16^3 + 4 * 16^2 = 25600

अक्षरों सहित एक उदाहरण के लिए (हेक्साडेसिमल नोटेशन में भी उपयोग किया जाता है जहां ए = 10, बी = 11 ... एफ = 15)

संख्या 0x6BF0है 27632

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632

2
जो मैं सोच रहा था, हेक्स में नकारात्मक संख्याओं को कैसे चिह्नित किया जाना चाहिए? जैसे -0xff या 0x-ff? मैं पहले अनुमान लगाता हूं, लेकिन मुझे नहीं पता।
ल्यूक

7
@ पहले एक सही है। हालांकि अधिक बार मैं बस 0xffffffffऔर ऐसे ही देखता हूं । ( 0xffffffff = -12-पूरक के रूप में 32-बिट int के लिए)
रहस्यवादी

@ ल्यूक नेगेटिव नंबरों को 2 के पूरक का उपयोग करके बाइनरी में दर्शाया गया है - एक चतुर तरीका जिसे '-' साइन की आवश्यकता नहीं है। तो, यह मूल रूप से बाइनरी से हेक्स, नकारात्मक या सकारात्मक में परिवर्तित हो रहा है।
शुवो सरकार

@ShuvoSarker जोड़ के लिए धन्यवाद! हालाँकि, यह केवल मेमोरी प्रतिनिधित्व है, लेकिन मुझे लगता है कि अगर हम इस बात से सहमत होंगे कि हमारे पास 0--999 ​​से संख्याओं का एक सेट है और यह 1000--1999 नकारात्मक संख्याओं का प्रतिनिधित्व करेगा। मेरा प्रश्न मानव-पठनीय संकेतन के बारे में था, हालांकि यह जानते हुए कि कंप्यूटर कैसे किसी और की मदद कर सकता है, इसलिए धन्यवाद :)
ल्यूक

16

C वाक्यविन्यास पर आधारित C ​​और भाषाओं में, उपसर्ग का 0xअर्थ हेक्साडेसिमल (बेस 16) है।

इस प्रकार, 0x400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024, या एक बाइनरी K ।

और इसलिए 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K


10

यह एक हेक्साडेसिमल संख्या है।

0x6400 का अनुवाद 4 * 16 ^ 2 + 6 * 16 ^ 3 = 25600 है


8

इसके साथ शुरू होने वाली संख्या 0xहेक्साडेसिमल (बेस 16) हैं। 0x6400का प्रतिनिधित्व करता है 25600

कन्वर्ट करने के लिए,

  • अंतिम अंक गुणा 1 से गुणा करें
  • दूसरा-अंतिम अंक 16 जोड़ें (16 ^ 1)
  • तीसरा-अंतिम अंक गुणा 256 (16 ^ 2) जोड़ें
  • चौथा-अंतिम अंक 4096 जोड़ें (16 ^ 3)
  • ...और इसी तरह

कारक 1, 16, 256, आदि 16 की बढ़ती हुई शक्तियाँ हैं।

0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600 

या

0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600 

7

सरल

यह इंगित करने के लिए एक उपसर्ग है कि संख्या किसी अन्य आधार के बजाय हेक्साडेसिमल में है। C प्रोग्रामिंग लैंग्वेज कंपाइलर को बताने के लिए इसका इस्तेमाल करती है।

उदाहरण :

0x64006*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.जब कंपाइलर का अनुवाद होता है 0x6400, तो यह समझता है कि संख्या 0x शब्द की मदद से हेक्साडेसिमल है। आमतौर पर हम (6400)16 or (6400)8किसी भी आधार को समझ सकते हैं ।

आशा ने किसी तरह मदद की।

अच्छा दिन,

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.