Вы можете сделать это так, как метод расширения:
public static byte[] ToByteArray(this int value) {
var bytes = Enumerable
.Range(0, sizeof(int))
.Select(index => index * 8)
.Select(shift => (byte)((value >> shift) & 0x000000ff))
.Reverse()
.SkipWhile(b => b == 0x00)
.ToArray();
return bytes;
}
Тогда:
int j = 2000;
var bytes = j.ToByteArray();
Console.WriteLine(bytes.Length);
for(int index = 0; index < bytes.Length; index++) {
Console.WriteLine("{0:x}", bytes[index]);
}
Дает:
2
0x07
0xd0
И заменить j = 2000
на j = 80000
в приведенном выше дает
3
0x01
0x38
0x80
И замена j = 2000
на j = 250
в приведенном выше дает
1
0xfa