このコードはインターネットのどこかから取得しました
最終 int 時間 = 80 << 3 + 1;
<<
左シフト演算子です
符号付き左シフト演算子 "<<" はビット パターンを左にシフトし、符号付き右シフト演算子 ">>" はビット パターンを右にシフトします。ビット パターンは左側のオペランドで指定され、シフトする位置の数は右側のオペランドで指定されます。
つまり24 << 8
、バイナリ値 24 を左に 8 ビット位置シフトします。
詳細については、リファレンスに従ってください。
これは、定数整数値24
を8ビット左にビットシフトすることを意味します。
24 << 8
は、数値を 8 ビット左にシフトすることを意味し24
、これは と同等24 * (2^8) = 6144
です。
提供されたコード スニペットでは、時間hh:mm
を整数にエンコードしhh << 8 + mm
ます。1 日は 24 時間あるため、1 日 1 分ごとのアクティビティを表す配列には(24 << 8) + 1
要素が必要です。これ+1
は、正当な配列インデックスを作成すること24:00
です。