2015-07-20 73 views
2

這是一個Delphi代碼爲XOR-Shift算法,這是返回正值和負值:我應該改變以獲得積極的結果?

procedure TForm1.Button2Click(Sender: TObject); 
var 
    i : integer; 
    y : UInt64; 
begin 
    y:= 2463534242; 
    for i := 1 to 1000 do 
    begin 
     y := y xor (y shl 13); 
     y :=(y shr 17); 
     y := y xor (y shl 5); 
     ListBox1.Items.Add(IntToStr(y)); 
    end; 
    end; 

我應該改變只得到積極的結果?

+0

是不是'y'簽名了嗎? –

回答

2

使用UintToStr代替IntToStr,如:

ListBox1.Items.Add(UintToStr(y));