blog

先頭に付いている『0(ゼロ)』の理由

Linux講座

2016.06.08

先頭に付いている『0(ゼロ)』の理由

ファイル作成時のモードであるマスク値を確認するumaskコマンドを実行すると

以下の様な表示がされます。
 
burogu

これはマスク値が『002』という意味なのですが、何故か先頭に数字の『0』が付いた4桁になっています。

これは何故なのでしょうか??
この先頭に付いている0について色々と調べてみました。 
まず、先頭に『0』が付いている理由としては『この数値が8進数だから』というのが答えです。

『002』という数字を見た時、それが10進数なのか8進数なのか判断が出来ません。
その為、8進数の場合はその数値の前に『0』をつけるという決まりがあるのです。

しかしなぜ、数字の頭に『0』を付けると8進数になるのでしょう。

元々は『Octal(8進法)』の頭文字であるアルファベットの『o(オー)』にしようという発想から始まっています。
頭に『8進数だよ!』という表記がくればわかりやすいですし、何より効率の良い実装となります。

しかし、コンピュータが処理を行う時にはどうでしょうか。
先頭の文字がアルファベットの『o(オー)』の場合、その後に続く文字を見てみないと、それがただの文字列なのか、8進数なのか判断出来ません。
もっと効率の良い処理方法を考えた時、アルファベットの代わりに数字の『0』を使用する事に行き着きました。
最近は16進数の表記で『0x』というのも出てきているので、
単純に先頭が0であれば8進数とは言えないのですが
なかなか判りやすい、単純明快な仕組みだなぁ。と感心してしまいます。

プログラミングの世界では、先頭に数字の『0』を付けると8進数になる。
と言うのは常識だそうなのですが、サーバエンジニアでもこういった場面で使用することもあるんですね。

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.