如何将 double 转换为 IEEE754 格式?
How to transform double to IEEE754 format?
该函数应该return IEEE754 格式的双精度类型数字的字符串表示形式
public class GetIEEE754FormatAdapter : ITransformer<double, string>
{
public string Transform(double obj)
{
return Encoding.UTF8.GetString(BitConverter.GetBytes(obj));
}
}
例如,如果 obj 为 122.625,则结果应为字符串 010000000101111101010100000000000000000000000000000000000000000000
我的实施是return错误的结果
这样就可以了:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(BinaryString(122.625));
// 00000001011110101010000000000000000000000000000000000000000000
}
static string BinaryString(double value)
{
long bits = BitConverter.DoubleToInt64Bits(value);
return Convert.ToString(bits, 2).Substring(1);
}
}
该函数应该return IEEE754 格式的双精度类型数字的字符串表示形式
public class GetIEEE754FormatAdapter : ITransformer<double, string>
{
public string Transform(double obj)
{
return Encoding.UTF8.GetString(BitConverter.GetBytes(obj));
}
}
例如,如果 obj 为 122.625,则结果应为字符串 010000000101111101010100000000000000000000000000000000000000000000
我的实施是return错误的结果
这样就可以了:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(BinaryString(122.625));
// 00000001011110101010000000000000000000000000000000000000000000
}
static string BinaryString(double value)
{
long bits = BitConverter.DoubleToInt64Bits(value);
return Convert.ToString(bits, 2).Substring(1);
}
}