Mit FillChar füllst du jedes Byte mit der Zahl, die du angegeben hast, also in diesem Fall 3 (oder 11 binär)
Also, unsere 2 Byte sehen so aus:
Wenn man das zusammenzählt, gibt es 1 * 2^0 + 1* 2^1 + 1 * 2^8 + 1 * 2^9 = 3 + (778) = 3 + 256 * 3.
Oder anders: Da das erste Byte (das höherwertigere Byte) 8 Bit nach links verschoben ist, musst du die Zahl mit 2^8=256 multiplizieren. Das rechte Byte ist um 0 Bit verschoben. 2^0=1, also bleibt die Zahl unverändert.
Hättest du drei Byte, müsstest du rechnen 3 + (2^8 * 3) + (2^16 * 3) = 3 + 256 * 3 + 65536 * 3.