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

C#-এ ডবল-প্রিসিশন ফ্লোটিং পয়েন্টকে ৬৪-বিট সাইনড ইন্টিজারে রূপান্তর

C#-এ BitConverter.DoubleToInt64Bits(double value) মেথড একটি ডবল-প্রিসিশন ফ্লোটিং পয়েন্ট নম্বরের IEEE 754 বাইট রিপ্রেজেন্টেশনকে ৬৪-বিট সাইনড ইন্টিজার (long)-এ রূপান্তর করে। এটি মান রূপান্তর করে না, বরং বাইট প্যাটার্ন কপি করে।

উদাহরণ ১: ডবল মানকে লং-এ রূপান্তর

using System;

public class Demo {
    public static void Main() {
        double d = 5.646587687;
        Console.Write("মান = " + d);

        long res = BitConverter.DoubleToInt64Bits(d);
        Console.Write("\n৬৪-বিট সাইনড ইন্টিজার = " + res);
    }
}

আউটপুট

মান = 5.646587687
৬৪-বিট সাইনড ইন্টিজার = 4618043510978159912

উদাহরণ ২: ছোট ডবল মান রূপান্তর

using System;

public class Demo {
    public static void Main() {
        double d = 0.001;
        Console.Write("মান = " + d);

        long res = BitConverter.DoubleToInt64Bits(d);
        Console.Write("\n৬৪-বিট সাইনড ইন্টিজার = " + res);
    }
}

আউটপুট

মান = 0.001
৬৪-বিট সাইনড ইন্টিজার = 4562254508917369340

ব্যাখ্যা: এই মেথডটি ডবল মানটির মেমরিতে সংরক্ষিত ৮ বাইট (৬৪ বিট) কে একই বাইট প্যাটার্ন বিশিষ্ট একটি `long` মান হিসেবে পুনর্ব্যাখ্যা করে। এটি BitConverter.Int64BitsToDouble-র বিপরীত অপারেশন। নিম্ন-স্তরের ডেটা প্রসেসিং, নেটওয়ার্ক কমিউনিকেশন বা ফাইল ফরম্যাট হ্যান্ডলিং-এ এটি ব্যবহার করা হয়।

  1. হেক্সাডেসিমেল নম্বর XXXX দ্বারা নির্দিষ্ট ইউনিকোড ক্যারেক্টার ম্যাচ করা

  2. জাভাস্ক্রিপ্টে স্ট্রিংকে ফ্লোটিং পয়েন্ট নম্বরে রূপান্তর করা

  3. C-এ ফ্লোটিং পয়েন্ট সংখ্যার সেট বিট গণনা করা

  4. পাইথনে ফ্লোটিং পয়েন্ট রিপ্রেজেন্টেশনের এক্সপোনেন্ট অংশের বিট সংখ্যা পান