0
Visual Studio 2008で簡単なプログラムを実行していますが、これは以下の2つの結果を示しています。 は私が最初のケースでは、それは結果を与えている理由を知って助けてください= 1024 ケース1:ビット操作演算子の優先順位が出力に与える影響
#include<windows.h>
#include<iostream>
using namespace std;
int main()
{
int i =4;
k = i<<3 + i<<1;
cout<<"Result "<<k;
return 0;
}
出力された1024
case2:
int j=0;
j=i<<3;
int n = i<<1;
k = j+ n;
cout<<"Result "<<k;
出力である40
結果を再現するのに十分なコードを教えてください。また、あなたは何を期待していましたか、なぜそれを期待しましたか? –
'k = i << 3 + i << 1;' – Real73
@ShahrairNazimRealは、彼らが本当にスマートで10倍にしようと思っている人です。*本当にスマートな人は、オプティマイザ。 – user4581301