2012-08-04 48 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 =)