Code:
ulong
ip = 222ul << 24 | 111ul << 16 | 111ul;
byte[] ipParts = new byte[4];
for (int i = 0; i < 4; i++) {
// 3 - i oder i, in welcher Reihenfolge man es eben haben will
ipParts[3 - i] = (byte)(
ip >> (8 * i) & 0xff);
// oder auch
ipParts[3 - i] = (byte)(
ip & 0xff);
ip >>= 8;
}
Wahrscheinlich nicht direkt nach C übernehmbar, aber die Vorgehensweise sollte erkennbar sein.