У меня есть массив байтов, представленный шестнадцатеричными значениями, это длительность времени. Данные могут быть преобразованы в целочисленные значения и умножены на константу, чтобы получить тайминги. Декодирование данных будет сохранено в файл в виде последовательности шестнадцатеричных строк. Что было бы эффективным способом манипулирования шестнадцатеричными значениями?Эффективное манипулирование шестью
Я смотрел на проблемы производительности при работе с форматами данных, как я должен работать с более чем одного формата на разных этапах (расчетов, отображения данных и т.д.). В большинстве примеров показано преобразование из байта [] в шестнадцатеричную строку («1A 3C D4») и наоборот, но я искал альтернативу, которая заключается в преобразовании в Int16 и использовании char [] массива.
Как массив байтов «представляет шестнадцатеричные значения»? Означает ли это, что каждый байт является символом ASCII? Или каждый байт является числом от 0 до 15? – Gabe
Я читаю байтовые массивы из последовательного порта.В протоколе устройства используются 16-битные шестнадцатеричные значения для представления периодов времени (hex => dec * constant = period). Поскольку периоды времени составляют в основном 2-3 приблизительных значения, мне нужно нормализовать шестнадцатеричные значения до известных значений (0x002A => 0x0029, 0x002c => 0x0029, 0x0050 = 0x0053 и т. Д.). Затем я декодирую нормализованные шестнадцатеричные значения и сохраняю декодированную шестнадцатеричную строку кода в файл. Декодированный шестнадцатеричный код представляет собой просто представление для бит. – OIO