2009-06-01 20 views
5

इस तरह एक सरणी का उदाहरण दिया गया है:मैं उद्देश्य सी में हेक्स संख्या को पूर्णांक और तारों में कैसे परिवर्तित कर सकता हूं?

idx = [ 0xe, 0x3, 0x6, 0x8, 0x2 ] 

मैं जो पूरी तरह से काम करता है उद्देश्य सी में निर्दिष्ट आइटम मैं एक गहरे लाल रंग का उदाहरण मज़ाक उड़ाया है में से प्रत्येक के एक पूर्णांक और स्ट्रिंग प्रतिनिधित्व प्राप्त करना चाहते हैं:

0xe gives 14 when i run 0xe.to_i and "e" when i run to_i(base=16) 
0x3 gives 3 when i run 0x3.to_i and gives 3 when i run to_i(base=16) 

मैं उद्देश्य सी में इसे कैसे प्राप्त कर सकता हूं?

+0

इन गैर कर रहे हैं की तरह उपयोग कर सकते हैं - आवंटित संख्या? – sbooth

+0

हां। वे स्थानीय नहीं हैं। –

उत्तर

10

दशमलव हेक्सादशमलव समकक्ष पाने के लिए आपको क्या करना होगा:

int number = 0xe; // or 0x3, 0x6, 0x8, 0x2 

NSString * decimalString = [NSString stringWithFormat:@"%d", number]; 
NSString * hexString = [NSString stringWithFormat:@"%x", number]; 
+0

धन्यवाद, ठीक है कि यह थोड़ा उपयोगी है। लेकिन क्या मैं एनएसएनंबर में 0xe स्टोर कर सकता हूं? मैं इसे int में असाइन नहीं कर सकता क्योंकि मैं इस सामान को एनएसएआरएआरई में स्टोर करना चाहता हूं क्योंकि आप इसमें मानक सी प्रकारों का उपयोग नहीं कर सकते हैं (mutable या नहीं) –

+1

NSNumber किसी भी आदित्मक संख्यात्मक प्रकार को लपेट सकता है। बेशक, एक बार जब आप संख्याओं के स्ट्रिंग प्रस्तुतिकरण कर रहे हैं, आप स्ट्रिंग को सरणी में संग्रहीत कर सकते हैं। –

0

बार जब आप एक NSString है आप सिर्फ इतना है कि कक्षा में तरीकों, intValue या longValue या floatValue

संबंधित मुद्दे

 संबंधित मुद्दे