C#-এ BitConverter.Int64BitsToDouble(long value) মেথড একটি ৬৪-বিট সাইনড ইন্টিজারের বাইট প্যাটার্নকে একই বাইট প্যাটার্ন বিশিষ্ট ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট নম্বর (double)-এ পুনর্ব্যাখ্যা করে। এটি মান রূপান্তর করে না, বরং বাইট রিপ্রেজেন্টেশন পুনর্ব্যাখ্যা করে।
উদাহরণ ১: বড় ইন্টিজার মান পুনর্ব্যাখ্যা
using System;
public class Demo {
public static void Main() {
long d = 9846587687;
Console.Write("মান (৬৪-বিট সাইনড ইন্টিজার) = " + d);
double res = BitConverter.Int64BitsToDouble(d);
Console.Write("\nমান (ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট) = " + res);
}
}
আউটপুট
মান (৬৪-বিট সাইনড ইন্টিজার) = 9846587687 মান (ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট) = 4.86486070491012E-314
উদাহরণ ২: ছোট ইন্টিজার মান পুনর্ব্যাখ্যা
using System;
public class Demo {
public static void Main() {
long d = 20;
Console.Write("মান (৬৪-বিট সাইনড ইন্টিজার) = " + d);
double res = BitConverter.Int64BitsToDouble(d);
Console.Write("\nমান (ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট) = " + res);
}
}
আউটপুট
মান (৬৪-বিট সাইনড ইন্টিজার) = 20 মান (ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট) = 9.88131291682493E-323
ব্যাখ্যা: এই মেথডটি বাইট-লেভেল পুনর্ব্যাখ্যা করে, গাণিতিক রূপান্তর করে না। একই ৬৪ বিটকে IEEE 754 ডবল ফরম্যাট হিসেবে বিবেচনা করা হয়। এটি নিম্ন-স্তরের ডেটা ম্যানিপুলেশন, সিরিয়ালাইজেশন বা ইন্টারঅপারেবিলিটির জন্য ব্যবহৃত হয়।