2012-07-09 81 views

回答

0

使用htonl/ntohl您的操作系統提供

+3

如果本機格式與網絡格式相反,則只會交換字節。 – 2012-07-09 14:40:47

+1

@MikeSeymour是真實的,但這很可能是用戶需要的。任何編寫低級別非網絡訂單驅動程序的人都可能知道如何去做。這似乎是一個很好的99%的答案 – 2012-07-09 14:41:26

+2

嗯實際上,我正在寫一個低層次的非網絡訂單驅動程序......雖然如此,但我的頭腦還是如此。我理解這個概念,但我習慣於高級語言。 – user1496413 2012-07-09 16:04:30

5

要麼使用您的OS(參見馬丁·貝克特的回答)所提供的功能,或者,如果你正在尋找一種方式來做到這一點的興趣,你可能有興趣在以下代碼片段中:

x = (x & 0x0000FFFF) << 16 | (x & 0xFFFF0000) >> 16; 
x = (x & 0x00FF00FF) << 8 | (x & 0xFF00FF00) >> 8; 
+2

是的,爲了完成字節交換,需要第二行:'x =(x&0x00FF00FF)<< 8 | (x&0xFF00FF00)>> 8;' – bames53 2012-07-09 14:45:04

+0

@ bames53是的,你是對的!對於那個很抱歉! – 2012-07-09 14:48:30