bitシフトの戻り値?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
umeth

bitシフトの戻り値?

#1

投稿記事 by umeth » 2年前

以下のコードで,a,b,cの値が何を指すのか教えていただけないでしょうか?

コード:

void main()
{
  int i = 3;
  int a, b, c, d = 1 << i;
  printf("%d\n", a);
  printf("%d\n", b);
  printf("%d\n", c);
  printf("%d\n", d);
}
標準出力での結果は以下のとおりです。

コード:

3
72529672
0
8
この8の意味は1を3左にシフトした結果というのはわかるのですが、それ以外の数字の意味がわかりません。いろんなサイトを調べてみたのですが、わからずじまいで質問させていただきます。どうか回答よろしくお願いします。

参照魚
記事: 109
登録日時: 6年前

Re: bitシフトの戻り値?

#2

投稿記事 by 参照魚 » 2年前

int型の変数 a,b,c,d を定義して、"dだけ"初期化した状態です。
dは初期値の8(1<<3) となりますが、a,b,cは未初期化状態です。
未初期化状態の変数の値には何が入っているかわかりません。

umeth

Re: bitシフトの戻り値?

#3

投稿記事 by umeth » 2年前

なるほど!ありがとうございます!わからず数時間溶かしていたので本当にたすかりました!

返信

“C言語何でも質問掲示板” へ戻る