Ich versuche hexdirekt 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 hexdirekt 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 obaseVariable:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
PS: FYI scaleist 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.
obasebevor Sie sie vornehmen ibase. Wenn Sie ibasezuerst festlegen , wirkt sich dies auch auf den analysierten Wert aus obase. dh ibase = 16; obase = 16;setzt obaseauf 0x16 = 22