Sto provando a fare un hexcalcolo direttamente con bc, ho già specificato la scala.
echo 'scale=16;c06b1000-c06a5e78' | bc
Ma ottengo ancora uno zero. Cosa potrebbe esserci di sbagliato?
Sto provando a fare un hexcalcolo direttamente con bc, ho già specificato la scala.
echo 'scale=16;c06b1000-c06a5e78' | bc
Ma ottengo ancora uno zero. Cosa potrebbe esserci di sbagliato?
Risposte:
echo 'ibase=16;C06D1000-C06A5E78' | bc
176520
Nota che sono supportate solo cifre esadecimali MAIUSCOLE poiché quelle minuscole sarebbero in conflitto con nomi di funzioni e variabili, motivo per cui hai ottenuto 0 nel tuo esempio ( var1 - var2)
Se hai bisogno anche della risposta in esadecimale, imposta la obasevariabile:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
PS: FYI scalenon è progettato per la base di conversione. Da man bc:
scale defines how some operations use digits after the decimal point.
The default value of scale is 0.
obaseprima di impostare ibase. Se si imposta ibaseprima, influisce anche sul valore analizzato obase. cioè ibase = 16; obase = 16;impostato obasesu 0x16 = 22