![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
(year & 3) == 0 というのは、3(2進数で11、それより左のビットは0)との論理積を取ることで、簡単に言えば4の倍数なら0になるということです。
下位2ビットの数字がいずれもゼロの正の整数は、必ず4の倍数です。No.2の回答にある (year % 4) == 0と同義です。なぜそんな変な書き方をしているかというと、CPUは除算演算(DIV -> JZ)よりも論理演算(AND -> JZ)の方が演算コストが低いからなのですが、恐らく昔からコンピュータプログラムを書いている人だったり、除算器を持たない組込み系CPUのソフトウェアを書いている人だったりが書いたものなのかなと思います。最近のコンパイラはある程度賢くて、「% 4」は「& 3」と書いたのと同じコードを吐き出してくれたりしますので、実はどちらでもいいという話はあります。
なお、その右はご存知とは思いますが、1世紀ごとに閏年じゃないけど(year % 100 !=0)しかし4世紀ごとに閏年が来るよ(year % 400 == 0)という意味です。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_08.png?e8efa67)
No.2
- 回答日時:
あまり詳しくないのですが、
year%4の誤りではないですか?
そんな計算式見た事ない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英語で「1年半」と言いたい時、「a year and a half/one and a half y 1 2023/07/29 18:11
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- 高校 This year we have had less snow last year 今年は去年より雪 2 2022/08/08 21:53
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) swiftで年号を 1 2023/02/05 06:48
- 英語 “If the City Council approves the renovation plan 3 2022/10/08 17:06
- 英語 upcoming school year, 近ずきつつある学校生活と訳されていたのですが schoo 2 2022/04/10 14:55
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlでcheckboxがうまく整理で...
-
日齢計算プログラム
-
「型が一致しません」のエラー...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
16進の10進変換について
-
子windowsからsubmit()後にclos...
-
VBA他のブックから値のみ貼付す...
-
テーブル内でドロップダウンメ...
-
処理終了後、他のページへジャ...
-
文字の横にプルダウンを表示さ...
-
【至急!!!】python言語で本を見...
-
回数を指定しないで空白行まで...
-
python3について。
-
実行中の変数の中身をイミディ...
-
formで特定のinputを送信しない...
-
qq!!の意味を教えてください。
-
コンボボックスのtag情報の取得...
-
セレクトボックスから別窓にジ...
-
セレクトメニューで2つの項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1桁の日付に0を付ける
-
「型が一致しません」のエラー...
-
前日の日付取得するには?
-
Schemeのプログラミング うる...
-
日付の差分の求め方(日、分)
-
Perlで日付を取得する
-
perlでcheckboxがうまく整理で...
-
うるう年の出し方
-
日齢計算プログラム
-
年令の計算方法
-
2つの日付・時間の差分を求め...
-
CSVファイルに出力
-
12月から1月へのリンク
-
C言語を用いて、2つのファイル...
-
サマータイムの判定について
-
先月(YYYYMM)の生成方法
-
Perlでsprintf("%02d",$month)...
-
Perlで60進数を作りたい
-
CSV読み込み時に条件に合う行(...
-
T-SQL(SQL Server2000) 月数の...
おすすめ情報