2013-02-18 31 views
1

我正在處理一個項目。在C#中轉換Java代碼。如何在C#中轉換下面的java代碼。在C#中轉換Java代碼。操作員錯誤

int h4; 
int e = h4;  
int[] w = new int[80]; 

e += 1518500249 + (a << 5 | a >> 27) + (b & c | (b^ 0xFFFFFFFF) & d) + w[0]; 

在第4行顯示編譯器錯誤「不能將類型long隱式轉換爲int」。

+2

想知道你不使用未分配的變量h4錯誤嗎? – V4Vendetta 2013-02-18 12:27:20

回答

1

如何只改變你變量的類型從intlong

long h4; 
long e = h4;  
long[] w = new long[80]; 

e += 1518500249 + (a << 5 | a >> 27) + (b & c | (b^0xFFFFFFFF) & d) + w[0]; 
+0

工作..謝謝。 – user2077725 2013-02-18 12:41:32

0

'e'在哪裏申報?它是'int'類型的嗎? 如果是這樣,將其更改爲「長」,並從那裏調試

編輯:從來沒有,我看到 - 計算結果在'長'。 編譯器看到這些告訴你,你不能隱式轉換的是「長」到an'int」

使用‘長’將解決這個問題

+1

它在第一行。 – 2013-02-18 12:23:33

+0

那麼你有它的權利'int e = h4' – V4Vendetta 2013-02-18 12:23:53