

このwhile文
public class WhileSample {
public static void main(String[] args) {
int num = 1; // 初期値設定
// 繰り返しの条件(numが1024より小さい間)
while (num < 1024) {
// 2の倍数を計算
num = num * 2;
// 結果を出力
System.out.println(num);
}
}
}
実行結果は
2
4
8
16
32
64
128
256
512
1024 でした。
num = num * 2 の右辺のnumに3を入れた場合、左辺のnumは6という回答が出ます。
1024より小さくて2の倍数なのに、なぜ6は含まれないのですか?
Java勉強始めたところです。回答を宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは
>// 2の倍数を計算
『「2の倍数」を計算』していると思っていらっしゃるようですが、正確ではありません。
どちらかと言えば、「2倍した数を計算」していると考える方が妥当だと思います。
初期値に対して、値を2倍する処理をループの回数だけ繰り返しています。
この結果は、「2の倍数(=偶数)」を網羅するものではありません。
>2 = 1*2
>4 = 1*2*2
>8 = 1*2*2*2
>16 = 1*2*2*2*2
・・・・
といった具合です。
初期値が1なので、2の累乗の数を求める処理になっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変化させるセルが変化しない
-
65536は2の何乗なのでしょうか?
-
アドオン利率を実質年率に変換
-
スレッド処理からダイアログを...
-
matlabで計算終了
-
C言語 大至急
-
Fortran でのマイナス乗数の書き方
-
C言語についてです。 再帰を使...
-
C言語初心者。静磁場の計算。台...
-
あまりわかりません。 複素数$c...
-
エクセルで特定のセルのみを任...
-
VB4でリサージュ図形の面積測定
-
円の最小二乗法のプログラム
-
なぜオーバーフローになるので...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
javascriptで何日何時間何分何...
-
ファイルの開き方
-
CASLIIのプログラム(並び替え...
-
あるプログラムのコマンドライ...
-
正しい五十音順について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAで関数をつくる
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
変化させるセルが変化しない
-
引き放し法による除算アルゴリ...
-
モジュラス103の計算とは何でし...
-
C言語についてです。 再帰を使...
-
スレッド処理からダイアログを...
-
階乗のマクロ
-
Perlで時間の計算
-
エクセルで特定のセルのみを任...
-
傾いた四角形内の範囲の条件式
-
モジュロ
-
VBA入力フォームで労働時間の計...
-
三菱シーケンサー works2 の日...
-
Java 電卓の連続計算
-
パソコン
おすすめ情報