なぜbashは数字010 = 8と考えるのですか?
x=010
echo $x
010
echo $(( x+0 ))
8
echo $(( x-2 ))
6
私はそれがバイナリかもしれないと思ったが、010 = 10 =2。だからそれがなぜ8になるのか、どうすれば010 = 10(そして010-2 = 8)と考えることができるのか?
多くの数値パーサーで
—
デレク朕會功夫
010
は、8を意味します。これは、一部の言語での配置が16進数を意味するの0
と同様に、前に8進数を意味するため0x
です。
これは実際にプログラミングする際に知っておくべき重要なことです。ほとんどの言語では
—
セス
0
、8進数、0x
16 進数、および0b
2 進数がトリガーされます。
投票権の説明?
—
ティム
@timなぜ8でないのでしょうか?;-)ああ、私の投票ではなく、おそらくそれがあまりにも基本的だからでしょう。それはかなり正常な動作です。
—
リンツウィンド
0
は、8進数であることを示します。あなたがちょうどそうするならx=10
、echo $((x+0))
それから示します10
。また、余分のための必要はありません$
中では()
。