Einzelnen Beitrag anzeigen

WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Unterschiedliches Verhalten bei Bitverschiebung (C# / Delphi

  Alt 21. Jun 2009, 14:54
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?
  Mit Zitat antworten Zitat