Преобразование данных DataType «Long» в байтовый массив

Я должен преобразовать значения (двойной / поплавок в C #) до байтов и нуждается в некоторой помощи ..

// DataType Long 4byte -99999999,99 до 99999999999
// DataType Long 4byte -99999999,9 до 99999999,9
// DataType Short 2BYTE -999,99 до 999,99
// DataType Collection 2BYTE -999,9 до 999,9

В моем «мире дома» я бы просто строгла его и ASCII.GETBYTES ().

Но сейчас в этом мире мы должны сделать меньше возможного пространства.
И действительно, что '-99999999999' занимает 12 байт вместо 4! Если это «длинный» DataType.

[редактировать]
Из-за некоторой помощи и ответа я прилагаю некоторые результаты здесь,

long lng = -9999999999L;
byte[] test = Encoding.ASCII.GetBytes(lng.ToString());  // 11 byte
byte[] test2 = BitConverter.GetBytes(lng);              // 8 byte
byte[] mybyt = BitConverter.GetBytes(lng);              // 8 byte
byte[] bA = BitConverter.GetBytes(lng);                 // 8 byte

там все еще должно быть одна детализация, чтобы узнать. СПГ-Вариабель получил 8 байтов, даже если он хелдут более низкие значения, то есть 99951 (я не буду включать образец TOSTRING ()).

Если значение даже «короче», что означает -999 99 - 999,99 он будет принимать только 2 байтовое пространство.
[конец редактирования]

17
задан Independent 26 August 2011 в 13:18
поделиться