[解決済み] ゼロベース月番号【終了しました
質問
人気のあるプログラミング言語の中には、月番号が1だけずれているものがあります -- JavaScript が思い浮かびますし、Java や、記憶が正しければ C 言語もそうです。いくつか質問があります。
- 一般人が使用する月番号を無視するのであれば、一貫性を保つために 日 を無視し、各月に 0 から始まる日数を付けるのはどうでしょうか。
- なぜこれが一般的なのでしょうか?
- そもそもこれは誰のアイデアなのでしょうか?
どのように解決するのですか?
カウントを開始するためにゼロを使用するのは、実際にはアセンブリ プログラマによる最適化のトリックです。カウント レジスタに 1 を代入する代わりに、レジスタをそれ自身と XOR し、CPU サイクルをわずかに高速化しました。これにより、カウントは 0 から始まり、常に最後の 1 つを除いた要素の長さまでカウントされることになります。
また、0 の使用は、割り当てられたメモリを指す 1 つのベース ポインターと、このベース ポインターからのオフセットにある 2 つ目のポインターを使用するポインター演算でもよく使用されます。この場合、オフセットをメモリブロックのベースに向けるために、値ゼロを使用することは非常に理にかなっています。(一般的な配列のロジックは、ベースアドレスにオフセット×レコードサイズを加えたものになる傾向があります)。
そして、ゼロベースの月番号は?多くの場合、多くのプログラミング環境では、あるデフォルトのデータからの日数として計算されます。1899 年 12 月 31 日はよく知られている日付ですが、基準日として使用される他の日付もたくさんあります。他の日付はすべてこの基準日からオフセットされ、1つの数値として保存されます。分数は時間、分、秒を表すのに使われ、0.25なら24/4=6時間となる。したがって、日付を実際の日付に変換するために、環境がしなければならないことは、この数字を実際の日付に変換することだけです。
しかし、ゼロベースの配列と1ベースの月の値の組み合わせは、問題をもたらします。 月 9 の月名を取得するには、月配列から項目 8 を取得する必要があります。開発者の中には、月番号を減らしてから名前を取得することに満足する人もいます。また、月番号ではなく名前を知りたいだけなので、月番号をゼロベースで表示することを好む人もいます。これは個人的な見解です。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン