初心者です。
以下のことで困っております。
どなたか教えていただければ幸いです。
どうぞよろしくお願いいたします。
前提・実現したいこと
今、課題(解答なし)を解いておりまして、全然わからない問題が出てきまして、こちらで質問させていただきました。
Javaの課題として与えられておりますが、質問場所が間違えておればご指摘いただければと思います。
■問題
int型変数ixを宣言し、0b1を代入する。
ビットシフト<<1を32回繰り返し値が下記になることを確認する。
31回目でマイナスの値になり、32回目でゼロになる。
その理由を考えなさい。
試したこと
0b1が16進数だと思い、
10進数(0|11|1)に直し、
2進数(0000|1011|0001)に直してみました。(ここまで合っているのかもわかっておりません)
ただ、今12ビットの状態になっており、そこから32ビットも左にシフトすることができないのではないかと思いまして、
詰まりました。
また、<<1が左に1ビット分移動するという解釈で合っているのかもわかっておりません。
(修正)
0bが2進数をあらわすことを教えていただきましたので、0b1が「2進数で1をあらわす」ということまでわかったのですが、
その先がわかりません。
補足情報(FW/ツールのバージョンなど)
もし必要な情報があれば教えていただきたく思います。
回答7件
あなたの回答
tips
プレビュー