2016-12-30 6 views
0

У меня очень длинная последовательность данных, хранящихся в виде 16-битного PCM без знака (это аудио). Используя Frhed, я могу просмотреть файл как hex. Я хотел бы преобразовать шестнадцатеричный в десятичный. Пока я экспортировал в файл csv и попытался преобразовать в R, используя as.integer(). Однако, похоже, это не учитывает, что значения подписаны.Как конвертировать 16-битную шестнадцатеричную цифру в десятичную?

+2

Не мой нисходящий сигнал. Вы пробовали 'strtoi (x, base = 16L)'? – G5W

+0

@ G5W, пост как ответ? –

+0

ОК, я отправлю его. – G5W

ответ

2

Вы можете преобразовать шестнадцатеричные текстовые строки в десятичные цифры, используя strtoi. Вам необходимо будет указать, что основание равно 16.

HexData = c("A167", "AE8F", "6A99", "0966", "784D", "A637", "102D", "4521") 
strtoi(HexData, base=16L) 
[1] 41319 44687 27289 2406 30797 42551 4141 17697 

Это предполагает неподписанные данные. В вашем вопросе упоминаются как подписанные, так и неподписанные, поэтому я не совсем уверен, что у вас есть.