কম্পিউটার টিউটোরিয়াল

C#-এ BitConverter.ToSingle() মেথড


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) এর বিপরীত কাজ করে।
  1. C# LINQ Count() মেথড: সিকোয়েন্সের এলিমেন্ট সংখ্যা গণনা

  2. সি শার্পে Convert.ToSingle মেথড

  3. সি শার্প All মেথড

  4. C#-এ All মেথড