Bc onaltılık hesaplamaları destekliyor mu?


20

hexDoğrudan bir hesaplama yapmaya çalışıyorum bc, zaten ölçeği belirttim.

echo 'scale=16;c06b1000-c06a5e78' | bc

Ama yine de sıfır alıyorum. Ne yanlış olabilir?


Teknik olarak sorunuzun cevabı olmasa da , bc (1) yerine moo (1) ' i düşünmek isteyebilirsiniz .

Yanıtlar:


33
echo 'ibase=16;C06D1000-C06A5E78' | bc
176520

Sadece büyük harf onaltılık basamak Eğer örnekte 0 var neden olan, işlev ve değişken adları ile ters düşecek küçük harf olanlar desteklendiğini Not ( var1 - var2)

Cevaba onaltılı olarak ihtiyacınız varsa, sadece obasedeğişkeni ayarlayın :

echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188

Not: FYI scaledönüşüm tabanı için tasarlanmamıştır. Gönderen man bc:

scale defines how some operations use digits after the decimal point.
The default value of scale is 0.

Dolayısıyla, 'yanlış olan şey' konusundaki asıl cevap, bc'nin yalnızca hex basamaklar için UPPER CASE'i desteklemesi ve editör Stephane'a kredi vermesidir.
Roland

Ayarlamadan obaseönce ayarlamanızın önemli olduğunu unutmayın ibase. ibaseİlk olarak ayarlarsanız , ayrıştırılan değeri de etkiler obase. yani ibase = 16; obase = 16;setleri obase0x16 = 22
Arnavion
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.