Bash neden 010'un 8 olduğunu düşünüyor?

17

Neden bash, 010 = 8 sayısını düşünüyor?

x=010
echo $x
  010
echo $(( x+0 ))
  8
echo $(( x-2 ))
  6

İkili olabileceğini düşündüm, ama 010 = 10 = 2. Peki neden 8 tane oluyor ve bunu 010 = 10 (ve 010 - 2 = 8) olarak düşünebilirim?

    
sordu Tim 09.05.2015 15:17

1 cevap

42

0 ile başlayan sayı dizileri sekizli sayılar olarak yorumlanır.
Sekizli 10 = ondalık 8 .

Ondalık bir sayı olarak ele almak için bash elde etmek için, baştaki sıfırı veya güç ondalık değerini şu şekilde kaldırın:

N=010
N=$((10#$N))

Genellikle, tüm üsler için çalışır, 10 'yi istediğiniz tabana yerleştirin:

N=[base#]n
    
verilen cevap Pabi 09.05.2015 15:19

Etiketlerdeki diğer soruları oku