私は Delphi にソース コードを持っています。このhttp://hscripts.com/tutorials/cpp/bitwise-operators.phpに従って、ビット単位の演算子を C++ Builder で変換しますが、結果は異なります
Delphi のソース コード
procedure TForm1.Button1Click(Sender: TObject)
var
tmp, dynamicINT : integer;
begin
dynamicINT := 42080;
tmp := ((dynamicINT shl 1) or (dynamicINT shr 31) and $7FFFFFFF);
Edit1.Text := IntToHex(tmp, 4);
end;
Delphi の結果:148C0
正しい!
C++ Builder のソース コード
void __fasctall TForm1::Button1Click(TObject *Sender)
{
int tmp = 0;
int dynamicINT = 42080;
tmp = ((dynamicINT << 1) || (dynamicINT >> 31) && 0x7FFFFFFF);
Edit1->Text = IntToHex(tmp, 4);
}
C++ ビルダーの結果: 0001
???
変換の何が問題になっていますか?
C++ Builder 6 と Delphi 7 を使用しています