मुझे कुछ मूल्यों की अंतहीनता को स्वैप करने की आवश्यकता है और केवल आश्चर्य हुआ कि क्या उद्देश्य-सी में कुछ भी उपलब्ध था, वर्तमान में मैं नीचे सीएसटीएल फ़ंक्शन के साथ बाइट्स को स्वैप कर रहा हूं (जो स्पष्ट रूप से मैं पुन: उपयोग कर सकता हूं) मैं बस जांचना चाहता था कि वहां कुछ भी नहीं था विशिष्ट मैं याद कर रहा था?उद्देश्य-सी में एंडियननेस स्वैपिंग?
float floatFlip(float inFloat) {
union {
int intValue;
float newFloat;
} inData, outData;
inData.newFloat = inFloat;
outData.intValue = CFSwapInt32BigToHost(inData.intValue);
return(outData.newFloat);
}
EDIT_001
संकेत यहाँ के लिए धन्यवाद मैं पूर्णांकों लिया है, क्या एक नाव स्वैप करने के लिए सबसे आसान तरीका है?
int myInteger = CFSwapInt32BigToHost(myInteger);
(अद्यतन ऊपर कोड)
float myFloat = floatFlip(myFloat);
गैरी
फ्लोटफ्लिप() ठीक दिखता है। मैं (व्यक्तिगत रूप से) फ़ंक्शन नाम और तर्कों को बोर्ड भर में निश्चित चौड़ाई के लिए लिखूंगा 'Float32 Float32Flip (Float32 inFloat) {संघ {SInt32 intValue; Float32 newFloat; } में डेटा, आउटडेटा; ...} ', लेकिन मैं अजीब हूँ। यदि आप सी ++ का उपयोग कर रहे हैं, तो मैं संदर्भ (पास करने के लिए कंपाइलर के लिए बाइट गिनती की जांच करता हूं) के लिए पास करता हूं, या (सी/ओबीजेसी) एक पॉइंटर पास करता है क्योंकि आप मुख्य रूप से तर्क के बाइट स्वैप में रूचि रखते हैं संभावित रूप से रूपांतरित/छंटनी/पुन: परिभाषित मूल्य का एक बाइट स्वैप। – justin