前提・実現したいこと
シフト演算のコードがよくわかりません。下のコードの7行目
unsigned __int64 mask = (__int64)1<<63;
の(__int64)1<<63
はどういう意味でしょうか。
(__int64)1
というのは10進数で1という意味??それを63ビット左シフト??
シフト演算についてのいいサイトがあれば教えてくれると嬉しいです。
該当のソースコード
class Bitmap { static const int WD = 8; static const int HT = 8; public: Bitmap(__int64 bits) { unsigned __int64 mask = (__int64)1<<63; for(int y = 0; y < HT; ++y) { for(int x = 0; x < WD; ++x) { if( (bits & mask) == 0 ) { m_pixel[x][y] = 0; } else { m_pixel[x][y] = 1; } mask >>= 1; // マスクを右に1ビットシフト } } } ..... };
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/07 18:01
2021/09/07 18:03
2021/09/07 18:04
2021/09/07 18:11
2021/09/07 22:19
2021/09/08 15:49