Sto provando a fare un hex
calcolo 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 hex
calcolo 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 obase
variabile:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
PS: FYI scale
non è 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.
obase
prima di impostare ibase
. Se si imposta ibase
prima, influisce anche sul valore analizzato obase
. cioè ibase = 16; obase = 16;
impostato obase
su 0x16 = 22