これが一般的な問題であることはわかっていますが、なぜそんなに問題が発生しているのかわかりません。行を IDL コードから C++ に変換しようとしています
IDL:
for i = 0,7 do begin
b = ishfy(b,1)
print,b
endfor
私のC++コード:
for(int i = 0; i < 7; i++)
{
b = b << 1;
cout << b;
}
私の最初の b は 255 で、254、252 などを受け取ることを期待しています。代わりに、最初のビット シフトは 510 を返します。私の問題は、シフトする前に b をバイナリ形式に変換していないことだと思います。これは正しいです?もしそうなら、どうすれば修正できますか?
前もって感謝します!