我想收拾4個字節爲一個int使用一些在這裏找到了解決方案,但它不」 t似乎適用於我的一個測試。
這是我使用的代碼:
public static int pack(int c1, int c2, int c3, int c4)
{
return (c1 << 24) | (c2 << 16) | (c3 << 8) | (c4);
}
現在,當我使用它像0x34,0x68,0x77,而0×23簡單的東西,我得到我所期望的:0x34687723。但是當我在0xBA,0xAD,0xBE和0xEF上使用它時,我得到了一些解決辦法。有沒有人看到問題可能是什麼?
編輯
上面的代碼是能夠給我我想要的東西,而「錯誤值」我下面提的是十進制的形式表示0xBAADBEEF的另一種方式。
知道你實際獲得的結果是什麼也許有用。 :) – sarnold 2011-05-24 22:26:43
不知何故,我迷路了。你能告訴我你爲什麼每個字節都有這個(0xFF&...)嗎?我真的很抱歉,不知何故,目前我沒有得到它......這是漫長的一天。我真的很感謝有人幫助我,在這裏。 – 2011-05-24 22:28:34
@ b.buchhold:我認爲這是確保它們實際上是單字節值。不知道爲什麼參數不僅僅是'byte'類型。 – Ryan 2011-05-24 22:29:52