Я хотел бы преобразовать заданный float
в его двоичное представление. Я попытался записать значение float в MemoryStream
, прочесть это MemoryStream
байт байтом и преобразовать байты в их двоичное представление. Но каждая попытка не удалась.Преобразование float в его двоичное представление (используя MemoryStream?)
- «Невозможно прочитать замкнутый поток» (но я только закрыл писатель)
- Для целей тестирования я просто написал целое число (я думаю, что четыре байта) и длина
MemoryStream
была 0, когда я не сбросилStreamWriter
и 1, когда я это сделал.
Я уверен, что есть лучший способ преобразовать float
S в двоичный, но я также хотел бы узнать немного о MemoryStream
классе.
OK. Я всегда забываю, какой класс использовать для конкретной цели :) Спасибо за быстрый ответ :) – Cubinator73
@ Cubinator73: Для этого нужна документация. Например, из 'StreamWriter':« Реализует TextWriter для записи символов в поток в определенной кодировке »- это не то, что вам нужно. –
Существует ли более эффективный подход, который, например, записывает данные в 'uint' (для' float') и 'ulong' (для' double')? Использование массива 'byte []', вероятно, требует построения объекта в куче и не обеспечивает простой побитовой манипуляции. –