C# में भिन्नात्मक घात की गणना: Math.Pow
Math.Pow(double base, double exponent) किसी संख्या को किसी भी वास्तविक घात (इंटीजर, फ्रैक्शनल, नेगेटिव) पर उठाता है। यह double लौटाता है।
सिंटैक्स
double result = Math.Pow(base, exponent);
उदाहरण: 5 की घात 3.7
using System;
class Program {
static void Main() {
double result = Math.Pow(5, 3.7);
Console.WriteLine($"5 ^ 3.7 = {result}");
// अन्य उदाहरण
Console.WriteLine($"2 ^ 0.5 (sqrt) = {Math.Pow(2, 0.5)}"); // ~1.414
Console.WriteLine($"8 ^ (1/3) (cbrt) = {Math.Pow(8, 1.0/3)}"); // ~2
Console.WriteLine($"10 ^ -2 = {Math.Pow(10, -2)}"); // 0.01
Console.WriteLine($"(-2) ^ 3 = {Math.Pow(-2, 3)}"); // -8
// Math.Pow(-2, 0.5) -> NaN (काल्पनिक संख्या)
}
}
आउटपुट
5 ^ 3.7 = 385.646164200006 2 ^ 0.5 (sqrt) = 1.4142135623731 8 ^ (1/3) (cbrt) = 2 10 ^ -2 = 0.01 (-2) ^ 3 = -8
विशेष मामले
| इनपुट | परिणाम |
|---|---|
Pow(x, 0) | 1 (x ≠ 0) |
Pow(0, y) (y > 0) | 0 |
Pow(0, 0) | 1 |
Pow(0, y) (y < 0) | Infinity |
Pow(neg, fractional) | NaN (वास्तविक परिणाम नहीं) |
Pow(±∞, y) | IEEE 754 नियम |
सटीकता के लिए decimal ओवरलोड (कस्टम)
Math.Pow केवल double के लिए है। decimal के लिए कस्टम इम्प्लीमेंटेशन या decimal लाइब्रेरी उपयोग करें:
public static decimal Pow(decimal @base, decimal exponent) {
return (decimal)Math.Pow((double)@base, (double)exponent);
// नोट: डबल में कन्वर्जन से प्रिसिजन लॉस हो सकता है
}
प्रदर्शन टिप
इंटीजर घात के लिए कस्टम फास्ट एक्सपोनेंशिएशन (बाइनरी एक्सपोनेंशिएशन) लिखें या Math.Pow का उपयोग करें (यह पहले से ऑप्टिमाइज़्ड है)।