該函式應回傳 IEEE754 格式的雙精度型別數字的字串表示形式
public class GetIEEE754FormatAdapter : ITransformer<double, string>
{
public string Transform(double obj)
{
return Encoding.UTF8.GetString(BitConverter.GetBytes(obj));
}
}
例如,如果 obj 為 122.625,則結果應為字串 01000000010111101010100000000000000000000000000000000000000000000
我的實作回傳錯誤的結果
uj5u.com熱心網友回復:
這可以解決問題:
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);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480465.html
