-1

最近、次のコード行に出くわしましたが、>>演算子の意味と計算方法がわかりません。

int dat;
int val;
dat = (125*val)>>8 ;

誰かがそれがどのように機能するか、およびの技術的な名前について洞察を与えることができれば>>、私は非常に高く評価されます.

val編集:プログラムを適切に実行するための適切な初期化について言及した人もいます。正しいです。私の主要なプログラムは の値を初期化しましたvalが、 の計算の概念を理解するために、 が任意の整数 に等しいとdat仮定します。valn

4

3 に答える 3

0

C++ では >> のコードを右にシフトすることを意味します

int dat = (125*val)>>8 ;

だろう:

int dat = 125 * val;
for(int i = 0; i < 8; i++)
{
   dat = dat / 2;
}
于 2013-07-12T09:12:37.767 に答える
0

少し説明すると、次のようになります。

int dat;
int val = 4; //initialized.... for example
dat = (125*val); // dat = 500
dat = 500>>8;

500 = 111110100 なので 500>>8 => 1

 dat = 1;
于 2013-07-12T09:18:27.417 に答える