Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Преобразовать число с плавающей точкой в HEX IEEE-754 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Преобразовать число с плавающей точкой в HEX IEEE-754
Codavr Дата: Воскресенье, 05.10.2014, 14:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Потребовалось преобразовать число с плавающей точкой в 32 битное шестнадцатиричное представление в формате IEEE-754.
Но лыжи не едут.
 
Ответить
СообщениеПотребовалось преобразовать число с плавающей точкой в 32 битное шестнадцатиричное представление в формате IEEE-754.
Но лыжи не едут.

Автор - Codavr
Дата добавления - 05.10.2014 в 14:41
Формуляр Дата: Воскресенье, 05.10.2014, 16:13 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
32 битное шестнадцатиричное представление в формате IEEE-754.
Шо за зверь такой?

Это так что ли?
[vba]
Код
Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
        
Public Function Double2Hex(x As Double) As String
Dim dWord(2) As Long
      Call CopyMem(dWord(1), x, 8)
      Double2Hex = Hex(dWord(1)) + Hex(dWord(2))
End Function
[/vba]


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Воскресенье, 05.10.2014, 16:14
 
Ответить
Сообщение
32 битное шестнадцатиричное представление в формате IEEE-754.
Шо за зверь такой?

Это так что ли?
[vba]
Код
Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
        
Public Function Double2Hex(x As Double) As String
Dim dWord(2) As Long
      Call CopyMem(dWord(1), x, 8)
      Double2Hex = Hex(dWord(1)) + Hex(dWord(2))
End Function
[/vba]

Автор - Формуляр
Дата добавления - 05.10.2014 в 16:13
Codavr Дата: Понедельник, 06.10.2014, 00:22 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо, кормилец!

Чутка подправил вот так.

Public Function Single2Hex(x As Single) As String
Dim Word(2) As Integer
Call CopyMem(Word(1), x, 4)
Single2Hex = Hex(Word(2)) + Hex(Word(1))
End Function

Твой вариант для дабла Double и порядок изменен
Мне флоат нужен был Float
 
Ответить
СообщениеСпасибо, кормилец!

Чутка подправил вот так.

Public Function Single2Hex(x As Single) As String
Dim Word(2) As Integer
Call CopyMem(Word(1), x, 4)
Single2Hex = Hex(Word(2)) + Hex(Word(1))
End Function

Твой вариант для дабла Double и порядок изменен
Мне флоат нужен был Float

Автор - Codavr
Дата добавления - 06.10.2014 в 00:22
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!