C++の質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Suikaba
記事: 194
登録日時: 14年前

C++の質問です

#1

投稿記事 by Suikaba » 14年前

質問させていただきます。

コード:

unsigned File::getUnsigned( int p ) const {
	const unsigned char* up;
	up = reinterpret_cast< const unsigned char* >( mData );
	unsigned r = up[ p ];
	r |= up[ p + 1 ] << 8;
	r |= up[ p + 2 ] << 16;
	r |= up[ p + 3 ] << 24;
	return r;
}
このコードの
r |= up[ p + 1 ] << 8;

<< 8
というのはどういう意味でしょうか?
cout << " " << endl;
と同じように使われているのでしょうか?
よろしくお願いします。

アバター
Ciel
記事: 252
登録日時: 14年前

Re: C++の質問です

#2

投稿記事 by Ciel » 14年前

ビット演算で今すぐ検索
oui C'est la Vie♪

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: C++の質問です

#3

投稿記事 by softya(ソフト屋) » 14年前

ビットシフトの演算子ですね。
どちらかと言うと入出力ストリームのcoutでの<<演算子オーバーロードの方が歪んだ使い方なのです。
クラスの勉強がまだだったら、すいません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 14年前

Re: C++の質問です

#4

投稿記事 by Suikaba » 14年前

お2人ともありがとうございました。
ビット演算ですか。了解しました。

閉鎖

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