2015-05-19 2 views
0

Я ищу некоторый исходный код на C#, который преобразует значение десятичной/с плавающей запятой в шестнадцатеричное значение, соответствующее стандарту IEEE754.Преобразование значения десятичной/с плавающей запятой в шестнадцатеричное значение, соответствующее стандарту IEEE754

ответ

0

Скрытого Hax с одинарной точностью, шаги ниже

  1. Conevrt десятичные в строку с помощью поставщику формата X
  2. конвертировать Hax в массив байт
  3. преобразования двоичного в байты для всех элементов в массиве
  4. преобразовывать в одиночный

    decimal decValue = 989.99M; 
    string hexValue = decValue.ToString("X"); 
    //Convert to float(24)/Single-precision floating-point format/ IEEE 754-2008/ binary32. 
    
    byte[] raw = new byte[hexValue.Length/2]; 
    for (int i = 0; i < raw.Length; i++) 
    { 
        raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16); 
        raw[raw.Length - i - 1] = Convert.ToByte(hex.Substring(i * 2, 2), 16); 
    } 
    
    float f = BitConverter.ToSingle(raw, 0); 
    
Смежные вопросы