もとからバイナリなのにそれをさらにバイナリにしろと言われても分からん。
char a[10];
unsigned long l = 0x30;
a[0] = l;
ということじゃないのか?