2012-08-04 39 views

回答

2

INT =>字節:

int value = 0x51f1; 
byte s = (byte)(value & 0xf); 
byte r = (byte)(value>>4 & 0xf); 
byte q = (byte)(value>>8 & 0xf); 
byte p = (byte)(value>>12 & 0xf); 

字節=> INT:

int value = p<<12 | q<<8 | r<<4 | s; 
+0

道歉之前 - 我想我會誤解了這個問題。 – 2012-08-04 16:16:02

+0

沒有問題!然而有一個問題,+優先於<<運算符。 – Lucero 2012-08-04 16:18:18

+0

謝謝。好的答案 – 2012-08-04 16:22:04

-1

字節[] bArray = System.BitConverter.GetBytes(ⅰ);

+0

這將獲得字節,但不做掩碼。 – 2012-08-04 16:14:58

+0

是的,你是對的。 – halftone 2012-08-04 16:27:38

0

Lucero的答案被修改爲在具有更長整數的循環中工作。

public static byte[] intToBytesV2(ulong l) 
    { 
     byte[] theBytes = new byte[8]; 
     for (int i = 0; i < 8; i++) { 
      theBytes[i] = (byte)(l >> (i * 4) & 0xf); 
     } 
     return theBytes; 
    } 

POM =)