【发布时间】:2014-07-08 07:55:15
【问题描述】:
我在 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
【问题讨论】:
-
你为什么要移植? C++-Builder 有“板载 Delphi”...
标签: delphi c++builder boolean-operations binary-operators