कुछ अतिरिक्त भाषाओं के उपयोग के जवाबों को एक अतिरिक्त कार्य में सेट करना (और "**" के बजाय "**" का उपयोग करना - जैसा कि मेरे लिए स्पष्ट है):
// http://stackoverflow.com/questions/24196689/how-to-get-the-power-of-some-integer-in-swift-language
// Put this at file level anywhere in your project
infix operator ** { associativity left precedence 160 }
func ** (radix: Double, power: Double) -> Double { return pow(radix, power) }
func ** (radix: Int, power: Int ) -> Double { return pow(Double(radix), Double(power)) }
func ** (radix: Float, power: Float ) -> Double { return pow(Double(radix), Double(power)) }
फ्लोट का उपयोग करते समय, आप सटीक खो सकते हैं। यदि संख्यात्मक शाब्दिक और पूर्णांक और गैर-पूर्णांकों के मिश्रण का उपयोग कर रहे हैं, तो आप डिफ़ॉल्ट रूप से डबल के साथ समाप्त हो जाएंगे। मैं व्यक्तिगत रूप से शैलीगत / पठनीयता कारणों के लिए पाउ (ए, बी) जैसे फ़ंक्शन के बजाय गणितीय अभिव्यक्ति का उपयोग करने की क्षमता पसंद करता हूं, लेकिन यह सिर्फ मेरे लिए है।
कोई भी ऑपरेटर जो त्रुटि उत्पन्न करने के लिए pow () का कारण बनेगा, इन कार्यों के कारण भी त्रुटि होगी, इसलिए त्रुटि जाँच का भार अभी भी पावर फ़ंक्शन का उपयोग करके कोड के साथ निहित है। KISS, IMHO।
देशी पाव () फ़ंक्शन का उपयोग करके उदाहरण के लिए वर्गमूल (2 ** 0.5) या व्युत्क्रम (2 ** -3 = 1/8) लेने की अनुमति देता है। उलटा या भिन्नात्मक घातांक का उपयोग करने की संभावना के कारण, मैंने अपने सभी कोड को डिफ़ॉल्ट डबल प्रकार के पाव () फ़ंक्शन को वापस करने के लिए लिखा था, जिसे सबसे अधिक सटीक (यदि मुझे सही ढंग से दस्तावेज याद है) वापस करना चाहिए। यदि आवश्यक हो, तो यह इंट या फ्लोट के लिए टाइप-कास्ट किया जा सकता है या जो भी हो, संभवतः परिशुद्धता के नुकसान के साथ।
2 ** -3 = 0.125
2 ** 0.5 = 1.4142135623731
2 ** 3 = 8