Преобразование шестнадцатеричного числа в десятичное, получил ошибку - PullRequest
0 голосов
/ 07 декабря 2018

Когда я набираю в оболочке -> $ echo $ ((16 # FF))

Выходное значение равно «255», что на самом деле является десятичным преобразованием шестнадцатеричного числа «0x16»

Но когда я пытаюсь преобразовать шестнадцатеричное число "0xffb5cd10" аналогичным образом, то есть -> $ echo $ ((ffb5cd10 # FF))

Я получаю ошибку ->

"bash: ffb5cd10 # FF: синтаксическая ошибка: неверный арифметический оператор (маркер ошибки" #FF ")"

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Я думаю, что ваша проблема здесь:

"(токен ошибки" #FF ")"

вы помещаете число в шестнадцатеричный формат и просите вернуть гекс снова.

синтаксис для этого, (я думаю) может вернуть ожидаемый результат, если вы опустите базу из кода, например:

$ echo $ ((ffb5cd10 #))

0 голосов
/ 07 декабря 2018

Таким образом, правильный синтаксис этой команды - $ echo $ (('base' # number)), где base на самом деле является основанием числа, которое вы дали оболочке, и оно даст вам десятичное преобразование.Здесь FF - это число, а 16 - это основание, а FF преобразуется в 255 ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...