C #Байт[] в BCD и BCD в INT

У меня есть шестнадцатеричный файл, созданный CashRegister Machine. Я должен прочитать этот файл.

Файл использует форматирование, описанное ниже. Это похоже на пакеты сокетов.

Кодовые данные :2 байта
Данные кода PLU :7 байт
Данные о цене за единицу :5 байт
Количественные данные :5 байт
Общий объем данных :5 байт
Данные имени PLU :18 байт
Данные налоговой ставки :1 байт
Длина :24 + 19 байт

  • Формат кода PLU — BCD
  • . Цена за единицу 1 -9999999999 (BCD)
  • количество 1 -9999999999 (BCD последние 3 цифры должны быть десятичными)
  • общая сумма 1 -9999999999 (BCD)

Я читаю шестнадцатеричный файл с помощью двоичного считывателя, а затем вставляю в массив байтов Unit Price.

byte[] bytes = { data[21], data[22], data[23], data[24], data[25] }; // BCD Byte Array

Этот массив представляет собой цену за единицу. Но как я могу преобразовать это число в десятичное. А в информации сказано, что для количества :BCD последнее число должно быть десятичным --что это значит? Спасибо.

5
задан dmcgill50 23 October 2012 в 22:25
поделиться