2015-05-09 79 views
-2

沒有是從將X int到short我的前端代碼並將其保存在一個二進制流如何幫助轉換

 write(x & 0xFF) 
     write((x & 0xFFFF) >> 8) 

(我是C++後端開發和不確定什麼語言,這是..貌似JS,但沒有int數據類型,因爲我知道。)

我不知道如何x & 0xFF(x & 0xFFFF) >> 8有助於INT轉換爲短。你可以解釋嗎?

+2

這不是將int轉換爲short,而是將int轉換爲2字節,並希望int的值適合它們(即希望不需要3.或4.字節)因爲它們是0)。 – deviantfan

+1

你如何成爲一名C++開發人員,而不瞭解位操作?不要試圖巨魔,我真的很好奇。 – JustSid

+0

@JustSid對於* C *開發者來說會更糟糕。 –

回答

4

x & 0xFF是指「x的至少顯著字節」

(x & 0xFFFF) >> 8是指「x的第二至少顯著字節」

當寫入一個接着一個,它表示(short)x(即,2個最低顯著的字節x)在小端。