Ich versuche hex
direkt mit zu rechnen bc
, die Skala habe ich schon angegeben.
echo 'scale=16;c06b1000-c06a5e78' | bc
Aber ich bekomme immer noch eine Null. Was könnte falsch sein?
Ich versuche hex
direkt mit zu rechnen bc
, die Skala habe ich schon angegeben.
echo 'scale=16;c06b1000-c06a5e78' | bc
Aber ich bekomme immer noch eine Null. Was könnte falsch sein?
Antworten:
echo 'ibase=16;C06D1000-C06A5E78' | bc
176520
Beachten Sie, dass nur Hexadezimalziffern in GROSSBUCHSTABEN unterstützt werden, da Kleinbuchstaben mit Funktions- und Variablennamen in Konflikt stehen würden. Aus diesem Grund haben Sie in Ihrem Beispiel 0 ( var1 - var2
).
Wenn Sie die Antwort auch in hex benötigen, setzen Sie einfach die obase
Variable:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
PS: FYI scale
ist nicht für die Konvertierungsbasis ausgelegt. Von man bc
:
scale defines how some operations use digits after the decimal point.
The default value of scale is 0.
obase
bevor Sie sie vornehmen ibase
. Wenn Sie ibase
zuerst festlegen , wirkt sich dies auch auf den analysierten Wert aus obase
. dh ibase = 16; obase = 16;
setzt obase
auf 0x16 = 22