ภาพรวม
เมธอด BitConverter.Int64BitsToDouble(Int64) นำรูปแบบบิตของ long (64 บิต) มาตีความใหม่เป็น double (IEEE 754 double-precision) โดยไม่แปลงค่าตัวเลข
ตัวอย่าง 1: ค่าขนาดใหญ่
using System;
public class Demo {
public static void Main() {
long d = 9846587687;
Console.Write("Value (64-bit signed integer) = " + d);
double res = BitConverter.Int64BitsToDouble(d);
Console.Write("\nValue (double-precision floating point number) = " + res);
}
}
ผลลัพธ์ตัวอย่าง 1
Value (64-bit signed integer) = 9846587687 Value (double-precision floating point number) = 4.86486070491012E-314
ตัวอย่าง 2: ค่าน้อย
using System;
public class Demo {
public static void Main() {
long d = 20;
Console.Write("Value (64-bit signed integer) = " + d);
double res = BitConverter.Int64BitsToDouble(d);
Console.Write("\nValue (double-precision floating point number) = " + res);
}
}
ผลลัพธ์ตัวอย่าง 2
Value (64-bit signed integer) = 20 Value (double-precision floating point number) = 9.88131291682493E-323
สรุป
- ไม่ใช่การแปลงค่า (conversion) แต่เป็นการ ตีความบิตใหม่ (reinterpretation)
- ผลลัพธ์มักเป็นค่าที่เล็กมากหรือ NaN ขึ้นอยู่กับรูปแบบบิต
- ใช้ในระดับต่ำ เช่น serialization, interop, หรือการทำงานกับข้อมูลดิบ