C# में BitConverter.ToSingle() मेथड एक बाइट एरे में निर्दिष्ट स्थिति से चार बाइट्स को सिंगल-प्रिसिजन फ्लोटिंग-पॉइंट नंबर (float) में कनवर्ट करता है।
सिंटैक्स
public static float ToSingle (byte[] value, int startIndex);
पैरामीटर्स:
value- बाइट एरेstartIndex- एरे में शुरुआती इंडेक्स (0-आधारित)
उदाहरण 1: छोटे बाइट एरे से कनवर्जन
using System;
public class Demo {
public static void Main() {
byte[] arr = {0, 1, 2, 3, 5, 7, 10};
Console.WriteLine("Byte Array = " + BitConverter.ToString(arr));
// 4 बाइट्स के चंक में प्रोसेस करें
for (int i = 0; i < arr.Length - 3; i += 4) {
float res = BitConverter.ToSingle(arr, i);
Console.WriteLine("\nStart Index = " + i);
Console.WriteLine("Result = " + res);
}
}
}
आउटपुट
Byte Array = 00-01-02-03-05-07-0A Start Index = 0 Result = 3.820471E-37
उदाहरण 2: बड़े बाइट एरे से एकाधिक कनवर्जन
using System;
public class Demo {
public static void Main() {
byte[] arr = {0, 10, 2, 5, 32, 45, 0, 0, 9, 20, 30, 50, 76, 88};
Console.WriteLine("Byte Array = " + BitConverter.ToString(arr));
for (int i = 0; i < arr.Length - 3; i += 4) {
float res = BitConverter.ToSingle(arr, i);
Console.WriteLine("\nStart Index = " + i);
Console.WriteLine("Result = " + res);
}
}
}
आउटपुट
Byte Array = 00-0A-02-05-20-2D-00-00-09-14-1E-32-4C-58 Start Index = 0 Result = 6.114407E-36 Start Index = 4 Result = 1.61878E-41 Start Index = 8 Result = 9.201366E-09
महत्वपूर्ण नोट्स
- मेथड के लिए कम से कम 4 बाइट्स उपलब्ध होने चाहिए
startIndexसे। - यदि एरे में पर्याप्त बाइट्स नहीं हैं तो
ArgumentExceptionफेंका जाता है। - एंडियननेस (Endianness) सिस्टम पर निर्भर करता है; आमतौर पर लिटिल-एंडियन।
- उल्टा ऑपरेशन:
BitConverter.GetBytes(float)फ्लोट को बाइट एरे में कनवर्ट करता है।
व्यावहारिक उपयोग
यह मेथड बाइनरी डेटा प्रोसेसिंग, नेटवर्क संचार, और फाइल I/O में उपयोगी है जहां फ्लोट मान बाइट स्ट्रीम के रूप में संग्रहीत होते हैं।