C#-এ BitConverter.ToSingle() মেথডটি একটি বাইট অ্যারে (byte array)-এর নির্দিষ্ট পজিশন থেকে চারটি বাইট लेकर একটি সিঙ্গল-প্রেসিশন ফ্লোটিং-পয়েন্ট নম্বর (float) রিটার্ন করে।
সিনট্যাক্স (Syntax)
public static float ToSingle (byte[] value, int startIndex);
এখানে, value হল বাইট অ্যারে, আর startIndex হল অ্যারেতে শুরুর পজিশন যেখানে থেকে ৪টি বাইট পড়া শুরু হবে।
উদাহরণ ১: ছোট বাইট অ্যারে থেকে float কনভারশন
using System;
public class Demo {
public static void Main() {
byte[] arr = {0, 1, 2, 3, 5, 7, 10};
Console.WriteLine("Byte Array = {0} ", BitConverter.ToString(arr));
for (int i = 0; i < arr.Length - 4; i = i + 4) {
float res = BitConverter.ToSingle(arr, i);
Console.WriteLine("\nValue = " + arr[i]);
Console.WriteLine("Result = " + res);
}
}
}
আউটপুট
Byte Array = 00-01-02-03-05-07-0A Value = 0 Result = 3.820471E-37
উদাহরণ ২: বড় বাইট অ্যারে থেকে একাধিক float কনভারশন
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 = {0} ", BitConverter.ToString(arr));
for (int i = 0; i < arr.Length - 4; i = i + 4) {
float res = BitConverter.ToSingle(arr, i);
Console.WriteLine("\nValue = " + arr[i]);
Console.WriteLine("Result = " + res);
}
}
}
আউটপুট
Byte Array = 00-0A-02-05-20-2D-00-00-09-14-1E-32-4C-58 Value = 0 Result = 6.114407E-36 Value = 32 Result = 1.61878E-41 Value = 9 Result = 9.201366E-09
মূল পয়েন্টস
BitConverter.ToSingle()৪টি বাইট (৩২ বিট) পড়ে IEEE 754 ফরম্যাটে float মান তৈরি করে।startIndexঅবশ্যই বৈধ রেঞ্জের ভিতরে থাকতে হবে (0 থেকেarray.Length - 4)।- এন্ডিয়ানের (endianness) প্রভাব পড়ে - সিস্টেমের এন্ডিয়ানের অনুযায়ী বাইট অর্ডার বোঝায়।
- বাইনারি ডেটা প্রসেসিং, নেটওয়ার্ক কমিউনিকেশন, ফাইল I/O-এ এটি ব্যাপকভাবে ব্যবহৃত হয়।
BitConverter.GetBytes(float)এর বিপরীত কাজ করে।