Hallo,
ich übersetze gerade mal wieder ein Programm von C# nach Delphi. Da das Resultat nicht so funktionierte wie es sollte, habe ich nach dem Fehler gesucht und ihn auch gefunden:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
a: Integer;
begin
a := -1024 shr 11;
Button1.Caption := IntToStr(a);
end;
Ergebnis: 2097151
Code:
private void button1_Click(object sender, EventArgs e)
{
int a = -1024 >> 11;
button1.Text = Convert.ToString(a);
}
Ergebnis: -1
Wie kommt es zu so einem unterschiedlichem Ergebnis?