Відповіді:
echo 'ibase=16;C06D1000-C06A5E78' | bc
176520
Зауважте, що підтримуються лише шістнадцяткові цифри UPPER CASE, оскільки великі регістри суперечать іменам функцій та змінних, тому ви отримали 0 у своєму прикладі ( var1 - var2
)
Якщо вам потрібна відповідь у шістнадцятковій формі, просто встановіть obase
змінну:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
PS: FYI scale
не розроблений для перетворення бази. Від man bc
:
scale defines how some operations use digits after the decimal point.
The default value of scale is 0.
obase
перед налаштуванням ibase
. Якщо ви встановите ibase
спочатку, то це також впливає на значення, проаналізовані для obase
. тобто ibase = 16; obase = 16;
встановлюється obase
на 0x16 = 22